【发布时间】:2011-12-30 07:43:55
【问题描述】:
我有一个主进程,它分叉了许多子进程。当我的主进程收到终止信号时,我希望能够终止这些子进程。理想情况下,我想做一些类似的事情:
def handler(signum, frame, pid_list):
log('Killing Process')
for pid in pid_list:
os.kill(pid, signal.SIGTERM)
os.waitpid(pid, 0) # need
sys.exit()
if __name__ == "__main__":
<code that creates child processes, pids>
signal.signal(signal.SIGTERM, handler(pid_list))
当然,这行不通……有什么建议吗?
【问题讨论】:
标签: python fork parallel-processing signals kill