【问题标题】:Popen log management question弹出日志管理问题
【发布时间】:2010-10-24 20:11:56
【问题描述】:

问题:

我有一个 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()

【问题讨论】:

  • 这个“命令”是什么?关于什么程序将长时间运行产生输出的任何提示?
  • 该命令是另一个python程序。它在网站上运行测试,如果没有问题,应该无限期运行。

标签: python logging popen


【解决方案1】:

修复监控程序,让它负责轮换自己的日志,或者自己调解来自日志程序的数据并将其打包到单独的文件中。

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

= 迈克

【讨论】:

  • 这不是我希望的答案,但看起来你是对的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-08
  • 1970-01-01
相关资源
最近更新 更多