5
我達蒙在Python它運行外部程序:子子殺
subprocess.call(["java", "-jar", "start.jar"])
當我殺守護進程,子進程(JAVA)仍在運行
我如何才能讓使孩子進程也被殺害?
我達蒙在Python它運行外部程序:子子殺
subprocess.call(["java", "-jar", "start.jar"])
當我殺守護進程,子進程(JAVA)仍在運行
我如何才能讓使孩子進程也被殺害?
使用subprocess.Popen()
而不是subprocess.call()
。例如:
import subprocess
my_process = subprocess.Popen(['ls', '-l'])
要終止子:
my_process.kill()
爲了捕捉kill信號,可以使這樣的事情:
import signal
import sys
def signal_handler(signal, frame):
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
你是如何殺死守護進程?如果你使用kill -9,那麼你就無能爲力,但除此之外,你可能會爲該信號編寫一個信號處理程序,捕獲它以殺死java進程,然後優雅地退出。 – Benson 2011-02-25 08:09:31