1. Signal 是UNIX系統中用來傳遞控制訊息(由一 process 到另一
process)的一種機制。
2. 雖然一個 signal 是傳送給一個程序的,
但程序本身是一個使用者撰寫的軟體,裡面不可能含有處理 Signal的程式碼,
因此我們不能期望占用CPU的程序會主動處理signal,而是當
作業系統在輪到掌控 CPU 控制權時,(Unix
是多人多工系統,多個程序輪流掌控CPU),
執行 signal 之處理,處理完畢之後,
作業系統會叫出原來的程序繼續執行讓該程序重新取回控制權。不過,
很多 signal 的處理結果是會殺掉該程序的。
|
3. Signal為一非同步訊息,由數字所構成。不同的數字所代表不同的控制訊息及
不同的處理步驟,例如signal "2" (使用者在鍵盤按下Ctrl+C",就會送出這個訊號給正在前景執行的程序)
之意義為結束目前程序。
| |
---|
常用 的HotKey與Signal的對應如下:
|