我意外地压缩了一个进程的日志文件(尽管该进程并没有在其中写入数据,但它只在周末进程被终止时才会写入数据)。我立即解压了该文件。当它试图在日志文件中写入数据时,这会影响进程吗?
答案1
这取决于进程如何管理打开日志文件的描述符。
如果它保持描述符打开,那么它将继续写入旧文件。即使您可能已删除该文件并且它不再位于文件系统目录中,只要该进程保持其打开,该文件仍然在文件系统中。
如果该过程每次需要写入时都重新打开该文件,那么它将写入解压缩的文件中。
我对日志子系统的经验是,保持描述符打开更为常见。因此,我认为进程开始写入新解压的文件的可能性较小。
有时,当您向进程发送正确的信号时,进程会重新加载其配置(并重新打开其日志文件)。您应该查看文档并尝试这样做。
答案2
在 unix 中使用命名管道
创建命名管道
mknod 测试.pipe p
读取管道-在后台输出到 zip 文件
gzip < exp.pipe > your_operation/script