8月 232022
使用subprocess的Popen函数创建了一个进程
使用Popen的kill和terminate函数都杀不掉这个进程
后来发现是因为Popen的时候使用了shell=True参数,如果不使用这个参数可以杀掉
后来百度找到了其他方法
1 2 3 4 5 6 7 |
import psutil def kill(proc_pid): process = psutil.Process(proc_pid) for proc in process.children(recursive=True): proc.kill() process.kill() |
想要杀掉进程的时候使用这个kill参数并传入子进程的pid就可以了
1 2 |
child = subprocess.Popen(['ping 192.168.1.10 -t'], shell=True, stdout=fileno, stderr=fileno) kill(child.pid) |
参考链接:http://www.dovov.com/shell-truepythonsubprocess.html
Sorry, the comment form is closed at this time.