大侠请留步!!!python 父进程怎样杀死子进程?
如题,希望在父进程退出时,杀掉所有子进程。
import multiprocessingfrom multiprocessing import Process, freeze_supportimport osimport sysimport timedef worker(): time.sleep(10) print 'worker'def main(): processes = [] for i in range(2): p = multiprocessing.Process(target=worker ) processes.append(p) for i in range(2): processes[i].start() for i in range(2): processes[i].join()if __name__ == '__main__': freeze_support() main()
>>> import multiprocessing, time, signal>>> p = multiprocessing.Process(target=time.sleep, args=(1000,))>>> print p, p.is_alive()<Process(Process-1, initial)> False>>> p.start()>>> print p, p.is_alive()<Process(Process-1, started)> True>>> p.terminate()>>> time.sleep(0.1)>>> print p, p.is_alive()<Process(Process-1, stopped[SIGTERM])> False>>> p.exitcode == -signal.SIGTERMTrue