使用strace时Subprocess.check_output超时不起作用

时间:2017-05-31 21:45:53

标签: python subprocess python-3.5 strace

我正在使用带有subprocess.check_output选项的python 3.5和timeout来获取子进程的输出。如果我直接调用可执行文件,例如

>>> import subproces
>>> subprocess.check_output(["/usr/bin/gedit"],timeout=1)
...
subprocess.TimeoutExpired: Command '/usr/bin/gedit' timed out after 1 seconds

但是,如果我打电话

>>> subprocess.check_output(["strace","/usr/bin/gedit"],timeout=1)

,只有在我自己终止gedit进程后才会引发TimeoutExpired。因此,函数subprocess.check_output会阻塞超过1秒。

我如何使用subprocess.check_output函数(或类似函数)来正确引发异常?

0 个答案:

没有答案