我有两个脚本来看一个目录(postgres热备份)
一个脚本将压缩文件复制到目录中,然后解压缩它们。
另一个脚本监视未压缩的文件,然后摄入到postgres中。
林想知道如果我能够他的一个情况下,他的脚本可以读取gunzip的输出,而它正在写吗?
总之:是否gunzip
它是非primefaces的,正如你所看到的,如果你在一个大的压缩过程中做了一个ls:
dfranke@alatar:~$ dd if=/dev/zero of=bigfile bs=1M count=3072 3072+0 records in 3072+0 records out 3221225472 bytes (3.2 GB) copied, 39.1106 s, 82.4 MB/s dfranke@alatar:~$ gzip bigfile & [1] 19876 dfranke@alatar:~$ ls -l bigfile* -rw-r--r-- 1 dfranke staff 3221225472 2010-11-08 17:16 bigfile -rw------- 1 dfranke staff 114688 2010-11-08 17:18 bigfile.gz dfranke@alatar:~$ ls -l bigfile* -rw-r--r-- 1 dfranke staff 3221225472 2010-11-08 17:16 bigfile -rw------- 1 dfranke staff 212992 2010-11-08 17:18 bigfile.gz
将脚本的正确性build立在假定某个特定工具(如gunzip )如何工作的基础上可能不是一个好主意,因为工具的内部行为可能会在后续版本中发生变化。 相反,我build议您使用正确的locking方法(由您的特定操作系统提供)以确保相互排斥。 大多数Linux发行版都提供了用于shell脚本的flock 。