Tho*_*s O 12 python multithreading subprocess
我正在用subprocessPython 启动一个程序.
在某些情况下,程序可能会冻结.这是我无法控制的.我从命令行中唯一可以做的就是CtrlEsc快速杀死程序.
有没有办法模仿这个subprocess?我正在使用subprocess.Popen(cmd, shell=True)启动该程序.
Aya*_*Aya 22
嗯,有一对夫妇返回的对象上的方法subprocess.Popen()可能是有用的:Popen.terminate()和Popen.kill(),其发送SIGTERM和SIGKILL分别.
例如...
import subprocess
import time
process = subprocess.Popen(cmd, shell=True)
time.sleep(5)
process.terminate()
Run Code Online (Sandbox Code Playgroud)
...将在五秒钟后终止该过程.
或者您可以使用os.kill()发送其他信号,例如SIGINT模拟CTRL-C,...
import subprocess
import time
import os
import signal
process = subprocess.Popen(cmd, shell=True)
time.sleep(5)
os.kill(process.pid, signal.SIGINT)
Run Code Online (Sandbox Code Playgroud)
but*_*tch 17
p = subprocess.Popen("echo 'foo' && sleep 60 && echo 'bar'", shell=True)
p.kill()
Run Code Online (Sandbox Code Playgroud)
查看subprocess模块上的文档以获取更多信息:http://docs.python.org/2/library/subprocess.html
| 归档时间: |
|
| 查看次数: |
64048 次 |
| 最近记录: |