我正在使用调用命令
subprocess.call(cmd, shell=True)
该命令不会自动终止。怎么杀掉它呢?
Since subprocess.call
等待命令完成,您无法以编程方式终止它。您唯一的办法是通过操作系统特定命令手动终止它,例如kill
.
如果您想以编程方式终止进程,则需要使用以下命令启动该进程subprocess.Popen
进而terminate https://docs.python.org/2/library/subprocess.html#subprocess.Popen.terminate它。下面是一个例子:
import time, subprocess
t1 = time.time()
p = subprocess.Popen('sleep 1', shell=True)
p.terminate()
p.wait()
t2 = time.time()
print(t2 - t1)
该脚本大约需要.002s
执行(而不是〜1s,如果睡眠命令没有终止)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)