什麼是 Signal - 傳遞給 process 的短訊息
Signal 是一種非常短的訊息,用來傳遞給一或多個 process,像是 facebook 的「戳一下」。通常 signal 只帶有一個數字,用來標示目前發生的 signal 種類。一般的 signal 不會帶有 arguments, a message 或者其他種類的訊息。Signal的種類太多,數字太難記憶。所以系統裡面會有一組 SIG 開頭的 macro 來標示所有的 signal。舉例來說,SIGCHLD macro用來通知 parent process,child process 已經停止或者結束。SIGSEGV macro 通常就是所謂的 segmentation fault。
Signal 有兩個主要的目的:
- 用來通知 process 特定事件的發生
- 強制 process 執行特定的 signal handler function
沒有留言:
張貼留言