终止正在运行的子进程调用

2022-01-18 00:00:00 python subprocess multithreading

问题描述

我正在 Python 上使用 subprocess 启动一个程序.

I'm launching a program with subprocess on Python.

在某些情况下,程序可能会冻结.这是我无法控制的.我唯一能从它启动的命令行做的是 CtrlEsc 快速杀死程序.

In some cases the program may freeze. This is out of my control. The only thing I can do from the command line it is launched from is CtrlEsc which kills the program quickly.

有没有办法用 subprocess 来模拟这个?我正在使用 subprocess.Popen(cmd, shell=True) 来启动程序.

Is there any way to emulate this with subprocess? I am using subprocess.Popen(cmd, shell=True) to launch the program.


解决方案

p = subprocess.Popen("echo 'foo' && sleep 60 && echo 'bar'", shell=True)
p.kill()

查看 subprocess 模块上的文档以获取更多信息:http://docs.python.org/2/library/subprocess.html

Check out the docs on the subprocess module for more info: http://docs.python.org/2/library/subprocess.html

相关文章