Linux C程式設計 訊號的傳送

2021-09-27 09:37:03 字數 969 閱讀 5234

前面介紹了linux中訊號的一些基本情況,這裡總結一下訊號的傳送。

訊號的傳送主要由函式kill()、raise()、sigqueue()、alarm()、settimer()、abort()來完成。

#include #include int kill( pid_t pid, int sig );
關於第乙個引數,有如下注意:

raise()函式是ansi c而非posix標準定義的,可以用來給呼叫raise()函式的程序傳送訊號,在shell下輸入man raise可獲取其函式原型:

#include int raise( int sig );
sigqueue()函式是乙個比較新的傳送訊號函式,它與kill()函式傳送訊號時的創新在於,sigqueue()在傳送訊號的同時還支援攜帶引數,但sigqueue()不能給一組程序傳送訊號,在shell中輸入man sigqueue可獲取函式原型:

#include int sigqueue( pid_t pid, int sig, const union si**al value );
union si**al

;

alarm()函式可以用來設定定時器,當定時器超時時,會傳送sigalrm訊號給呼叫alarm()函式的程序,在shell下輸入man alarm可獲取函式原型:

#include unsigned int alarm( unsigned int seconds );
對學習linux中訊號的傳送,掌握這幾種訊號傳送方法就足夠了。

Linux C程式設計之訊號介紹

unix訊號使用總結 訊號的原理 訊號是一種程序通訊的方法,他應用於非同步事件的處理。訊號的實現是一種軟中斷。它被傳送為乙個正在執行的程序,已告知程序某個事件發生了。1.1 訊號的建立 用訊號處理來模擬作業系統的中斷功能。要想使用訊號處理功能,你要做的就是填寫乙個訊號處理函式即可。1 呼叫signa...

Linux C程式設計之訊號介紹

unix訊號使用總結 訊號的原理 訊號是一種程序通訊的方法,他應用於非同步事件的處理。訊號的實現是一種軟中斷。它被傳送為乙個正在執行的程序,已告知程序某個事件發生了。1.1 訊號的建立 用訊號處理來模擬作業系統的中斷功能。要想使用訊號處理功能,你要做的就是填寫乙個訊號處理函式即可。1 呼叫signa...

linux c 程序間訊號的傳送與接收

訊號不僅可以用於事件的非同步處理,同時也可以用作資料傳輸,一者用於接收資料的程序需要安裝訊號處理函式,專門用於接收訊號,二者用於給指定的程序傳送訊號 傳送訊號的程序是 main.cpp created on jul 15,2014 author john include include includ...