-
一篇文章徹底搞定Linux信號!
1.信號是什么? 信號其實就是一個軟件中斷。 例: 輸入命令,在 Shell 下啟動一個前臺進程。 用戶按下 Ctrl-C,鍵盤輸入產生一個硬件中斷。 如果 CPU 當前正在執行這個進程的代碼,則該進程的用戶空間代碼暫停執行, CPU 從用戶態切換到內核態處理硬件中斷。 終端驅動程序將 Ctrl-C 解釋成一個 SIGINT 信號,記在該進程的 PCB 中(也可以說發送了一個 SIGINT 信號給該進程)。 當某個時刻要從內核返回到該進程的用戶空間代碼繼續執行之前,首先處理 PCB 中記錄的信號…