[英]How to keep track of which all child processes are killed in c++
我正在寫服務器。 它使用fork()
創建新的子進程。 我想在父進程死亡時殺死子進程。 我打算使用一個數組來存儲子進程的pid。但是,子進程可能會在父進程之前終止。 在這種情況下,如果我們使用SIGKILL
和已經終止的子進程的pid調用kill
函數,它將引發異常嗎?
當子進程終止時, SIGCHLD
信號將發送到父進程。 您可以在父級中處理此信號,然后在有機會wait
之前自行檢查終止了哪些子級。 並且您應該wait()
防止所有子進程進入僵屍進程。
您還可以查看此線程,以一種替代的方式讓父級終止時子級終止: 如何使父級退出后子級進程死亡?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.