Popen日志管理问题

时间:2009-05-08 15:57:32

标签: python logging popen

问题:

我在Python中有一个监视程序,它使用子进程'Popen来启动新进程。这些过程有可能运行很长时间(数周 - 数月)。我正在将文件句柄传递给Popen中的stdout变量,我担心这个文件很容易变大。有没有办法可以安全地移动或删除该日志文件中的数据?

重要提示: 这是在Windows系统上,因此任何解决方案都必须与Windows兼容。

代码段:

这是我创建流程的方式。

try:
    logFile = file(self.logFileName, 'w')
    self.process = Popen(self.command, shell=False, stdout=logFile, stderr=STDOUT)
finally:
    logFile.close()

1 个答案:

答案 0 :(得分:1)

修复监控程序,使其负责转动自己的日志,或自行调解来自日志程序的数据,并将其打包成单独的文件。

这是您拥有的两个选项。一旦它运行,你就不会弄乱另一个进程的文件描述符,所以不,你不能在该文件中“移动或删除数据”。

=迈克