C
向掛起的程序發送 SIGTERM
我有 2 個用 c 編寫的程序,我稱它們為“父”和“子”。父母創建孩子,孩子進入一個循環,在其中執行一些程式碼,然後引發 SIGSTOP。如果達到某個條件,則父需要發送子SIGTERM,否則發送SIGCONT。
如何在它被掛起時發送 SIGTERM 並獲得我想要的結果?通過簡單地發送 SIGCONT 然後 SIGTERM 恐怕孩子會在發送 SIGTERM 之前達到 SIGSTOP ,而且我還認為這兩個信號一個接一個會相互干擾。
謝謝。
如果您有一個處於暫停狀態的程序,它不會操作任何信號(除了
SIGKILL
),直到它繼續。掛起的信號將在程序中排隊。因此,根據您的情況,您需要發送:
SIGTERM
進而SIGCONT
SIGCONT
當然這可以簡化為
if (condition) { send SIGTERM } send SIGCONT