python超时执行如果在5秒内未完成



如果无法在5秒内完成命令的最佳方法是什么?

from subprocess import check_output
try:
    check_output("dh")
except Notexecuted:
    print"command not successful executed"

版本= python2.7

在Python 2.7中,我们没有使用子过程直接实现的超时函数。相反,我建议subprocess32软件包。

from subprocess32 import Popen, PIPE
cmd = "<your command>"
response = Popen(cmd, stdout=PIPE, stderr=PIPE)
stdout, stderr = response.communicate(timeout=5)

(在python 3.x中,我们有默认 subprocess的超时参数(

ps:请参阅文档。

POSIX用户(Linux,BSD等(强烈鼓励安装和 使用最新的SubProcess32模块而不是版本 包括Python 2.7。这是更好的替代者 在许多情况下的行为。

希望这个帮助!

最新更新