Python子流程.Popen用符号杀死后返回代码

2024-06-01 02:51:56 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑以下代码:

SIGNAL = 123
proc = subprocess.Popen("longrunning")
proc.send_signal(SIGNAL)

现在我想要的是从带有exit()的代码返回的退出代码。在

不幸的是,在Python中,我只得到进程停止时使用的信号号:

^{pr2}$

Tags: 代码sendsignal信号进程exitprocsubprocess
2条回答

两者是相互排斥的。如果您的进程由于得到一个信号而终止,它将没有机会生成带有exit()的返回代码。在

有关底层系统调用机制的解释,请参见man 2 waitpid。在

试试这个:

proc = subprocess.call(["ls", "-alh"], stdout=subprocess.PIPE)
print proc
0

在subprocess.call最后打电话给Popen,但我发现使用起来没那么复杂。在

来源:https://docs.python.org/2/library/subprocess.html

相关问题 更多 >