Python子进程'kill()离开了儿童孤儿

时间:2015-09-14 14:58:17

标签: python background subprocess

我正在运行一个来自Python的bash脚本,它会生成一些运行很长时间(在前台)的进程。

但是,如果我使用python杀死子进程对象,脚本生成的(子)进程将变为孤立而不是被杀死。

process=subprocess.Popen(['/bin/bash','script']) #this runs in background
[....]
process.terminate()

'script'产生“process1 | process2 | ...”

terminate()运行时,流程链(process1 | process2 ...)变为孤立并在PID1下运行。我想杀了他们

1 个答案:

答案 0 :(得分:0)

process=subprocess.Popen(['/bin/bash','script'])
pid = process.pid # get pid of process

杀死他们

os.system("kill -9 " + str(pid))