- 論壇徽章:
- 0
|
本帖最后由 linewer 于 2015-09-19 18:59 編輯
tc1989tc 發(fā)表于 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 父進程肯定不是通過發(fā)SIGTERM/SIGINT來嘗試終止的,我手動kill -15殺死這些新子進程父進程就退出了
本來認為父進程退出,子進程會成為孤兒進程, 但系統(tǒng)默認情況下(即使沒有設置proc1.join)父進程還是會調用waitpid等所有子進程退出
當然這個只是測試了,加上is_alive=True就OK了 |
|