- 论坛徽章:
- 0
|
本帖最后由 linewer 于 2015-09-19 18:59 编辑
tc1989tc 发表于 2015-09-19 09:41 ![]()
看文档如下描述:
When a process exits, it attempts to terminate all of its daemonic child processes ...
我将SIGTERM改称SIGUSR1(原SIGINT,SIGTERM恢复默认的),并且
#proc1.daemon = True
#proc1.join(timeout=1)
用kill -9 / -15 杀掉子进程测试这种情况,依旧有问题,父进程还是waitpid, 应该是在等新产生的子进程,只是这些子进程还在正常工作.
it attempts to terminate all of its daemonic child processes 父进程肯定不是通过发SIGTERM/SIGINT来尝试终止的,我手动kill -15杀死这些新子进程父进程就退出了
本来认为父进程退出,子进程会成为孤儿进程, 但系统默认情况下(即使没有设置proc1.join)父进程还是会调用waitpid等所有子进程退出
当然这个只是测试了,加上is_alive=True就OK了 |
|