import multiprocessing
import os
import time
def work():
pid, ppid = os.getpid(), os.getppid()
print('pid={}, ppid={}'.format(pid, ppid))
time.sleep(10)
def run_process(n):
pool = multiprocessing.Pool(10)
res_l = []
for _ in range(n):
res = pool.apply_async(work)
res_l.append(res)
pool.close()
pool.join()
run_process(2)
pid_0=63780, ppid=63779
pid_1=63781, ppid=63779
I have to kill pid and ppid to kill the current process.Is there a better way?Or I just want to one of the subprocesses. What should I do?
def kill_proc(pid, ppid):
os.kill(pid, signal.SIGTERM)
os.kill(ppid, signal.SIGTERM)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…