用sigaction 處理訊號

2021-08-10 15:38:58 字數 625 閱讀 2522

sigaction函式的功能是檢查或(/並)修改與指定訊號相關聯的處理動作.建議使用sigaction, 而不是signal函式, 後者較老,不可靠.

#include int sigaction( int signo, const struct sigaction *restrict act, struct sigaction *restrict oact);

返回值:若成功則返回0,若出錯則返回-1

act指標非空, 則修改訊號的動作;

oact指標非空, 則返回該訊號的上乙個動作.

結構體介紹:

struct sigaction ;

**例項:

static int g_quit;

static void handle_signal(int sig)

static struct sigaction sigact = ;

int main(void)

do while(1);

return 0;

}

參考: 訊號之sigaction函式 

訊號處理 signal和sigaction的區別

下面所指的signal都是指以前的older signal函式,現在大多系統都用sigaction重新實現了signal函式 1 signal在呼叫handler之前先把訊號的handler指標恢復 sigaction呼叫之後不會恢復handler指標,直到再次呼叫sigaction修改handle...

Linux 訊號處理函式sigaction

作用 設定某訊號的訊號處理函式 include int sigaction int signo,const struct sigaction restrict act,struct sigaction restrict oldact struct sigcation struct siginfo s...

訊號 signal以及sigaction

程式可以使用signal庫函式來處理訊號,定義如下 include void signal int sig,void func int int 其中引數sig給出準備捕獲或者忽略的訊號,而接收到訊號後需要呼叫的函式則由引數func給出。訊號處理函式也可以使用以下兩個特殊值 sig ign 忽略訊號 ...