Popen日志管理问题

问题:

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

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

代码片段:

这是我创建过程的方式。

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

修复监视器程序,以便它负责旋转自己的日志,或者自行调整来自日志程序的数据并将其打包到单独的文件中。

这是你有两个选择。 你不能混淆另一个进程的文件描述符,因为不行,你不能“移动或删除该文件中的数据”。

麦克

链接地址: http://www.djcxy.com/p/77127.html

上一篇: Popen log management question

下一篇: Python subprocess & stdout