linux 訊號 signal函式

2021-09-10 15:50:45 字數 685 閱讀 1929

#include#include#include#include#include#include#include//signal()函式有iso c定義,因為iso c 不涉及多執行緒、程序組以及終端i/o等,所以它對訊號的定義非常含糊,以至於對於unix系統而言毫無作用。

//最好用sigactioan來代替signal函式。

static void sig_usr(int); //one handler for both signals

int main(void)

if(signal(sigusr2,sig_usr)==sig_err)

while(1)

pause();

return 0;

}static void sig_usr(int signo)

pause函式將程式先掛起,等任何訊號傳入後再繼續執行程式;

程式測試方法:

./a.out &                    在後台啟動程式『

[1]     49878                  得到列印作業號和程序

kill -usr1` 49878      向該程序傳送訊號。

對於kill(命令或在函式),應當理解為向程序或程序組傳送訊號。

而程式是否終止取決於訊號的型別。已經程序是否捕捉了這種訊號。

Linux 訊號signal處理函式

alarm 設定訊號傳送鬧鐘 相關函式 signal,sleep 表頭檔案 include 定義函式 unsigned int alarm unsigned int seconds 函式說明 alarm 用來設定訊號sigalrm在經過引數seconds指定的秒數後傳送給目前的程序。如果引數seco...

訊號之signal函式

unix系統的訊號機制最簡單的介面是signal函式。signal函式的功能 為指定的訊號安裝乙個新的訊號處理函式。include void signal int signo,void func int int 複雜原型分開看 void signal int signo,void func int ...

訊號之signal函式

unix系統的訊號機制最簡單的介面是signal函式。signal函式的功能 為指定的訊號安裝乙個新的訊號處理函式。include void signal int signo,void func int int 複雜原型分開看 void signal int signo,void func int ...