在Solaris 10上,我有父進程和子進程。我用kill -KILL殺死了子進程。我希望在父進程中儘可能快地檢測到這一點(這是一個主/從系統,目標是讓父進程儘可能快地請求其備份)。父進程需要知道孩子有開始退出(它不需要等到孩子已退出)。Solaris 10:快速檢測SIGCHLD /進程退出
在我正在使用的系統中,發送SIGKILL和接收SIGCHLD的父進程之間的延遲時間約爲200毫秒。我不認爲我能縮短這個時間,僅僅是因爲孩子進程的規模和退出的時間 - 如果我錯了,請糾正我。
我想我的選擇是: - 不要發送SIGKILL給孩子。相反,發送一個信號給父母,以便它可以殺死孩子(並且因此立即知道子進程正在被終止)。這並不理想,因爲一些「kill -KILL」命令超出了我的控制範圍,所以我無法用其他父信號替換它們。 - 掛鉤對孩子的終止處理(我不認爲這是可能的,因爲SIGKILL不能被捕獲)。 - 有沒有其他想法?
感謝您的任何建議。 NickB