【发布时间】:2020-12-10 02:33:26
【问题描述】:
抱歉,我无法为此发布代码,但我一直在尝试从另一个创建系统托盘的 python 脚本运行 python 脚本。此系统托盘将显示程序是否正确运行。
到目前为止,我已经尝试了几种方法,最有希望的方法是使用类似的方法:
p = subprocess.Popen([xxx, xxx], stdout=PIPE, stderr=PIPE)
然后我检查stderr 是否有任何输出意味着出现错误。
但是,这仅在我故意发生错误(使用错误的文件路径)时有效,并且当我使用正确的文件路径时没有任何反应,因为程序永远不会终止。
所以我遇到的主要问题是因为我希望程序始终运行,除非出现错误,否则它永远不会终止。我希望能够检查它是否正在运行,以便用户可以检查系统托盘上的状态。
【问题讨论】:
-
p.poll()如果子进程仍在运行,则返回None,否则返回退出代码。 -
查看
Popen.poll()文档。
标签: python subprocess stdout stderr tray