无法在python中使用QProcess获取文件输出

时间:2012-05-24 15:40:05

标签: python file qprocess

我需要: 1.捕获日志文件中进程的输出,但是 2.分开,因为该程序可能需要数小时,(或几天)。

显然,如果您使用QProcess.startDetached(命令),则会丢失StandardOutput,因此

launchApp = QtCore.QProcess()        
launchApp.setStandardOutputFile("logfile")
launchSim.startDetached("my_command")

不起作用。

launchSim.start("my_command")

是否有效,但我负担不起。 还

launchSim.startDetached("my_command", " > logfile") 

不起作用。它看到了 “> logfile”作为“my_command”的非法选项

这是在Linux上


问题是“my_command”在调用程序关闭时死掉。 nohup似乎没有帮助。 (不知道为什么)。

1 个答案:

答案 0 :(得分:1)

如何使用标准库中的os.system()

import os
os.system("nohup my_command > logfile &")

可能会更好,更安全:

import os
os.system("nohup /full/path/to/my_command >& logfile &")

注意两个输出流的重定向和命令的完整路径。您也可能有兴趣查看os.popen()subprocess模块。