【发布时间】:2021-02-06 21:21:57
【问题描述】:
使用子进程 run()/popen(),我们可以将 stdout 和 stderr 重定向到外部文件。有什么方法也可以重定向退出代码吗?
【问题讨论】:
-
r = subprocess.run(...)并将r.returncode写入 python 中的文件怎么样? -
不,因为它下面的操作系统不是这样工作的。
-
见
man wait(2),不要使用run函数。这是一个便利功能。您可以通过直接使用 Popen 来更好地控制子进程。 -
如果您的子流程在源代码中是可修改的,您可以拦截大多数终止信号,并快速保存状态并退出尊重信号。要知道 SIGKILL(9) 不能被拦截,不管它处于什么状态它都会破坏进程。
-
@keith 我的意思是 popen()。我已经更新了这个问题。谢谢
标签: python subprocess