您好,登錄后才能下訂單哦!
#include <stdio.h> #include <stdlib.h> #include <signal.h> //這是使用sigaction函數注冊的信號函數 void signalDeal(int sig,siginfo_t *info,void *t) { if(sig == SIGINT) //對應ctrl+c { printf("CTRL+C按鍵被按下。\n"); } else if(sig == SIGQUIT) //對應ctrl+/ { printf("CTRL+/按鍵被按下.\n"); } else { printf("其他信號。\n"); } } int main(int argc,char *argv[]) { struct sigaction act; //定義sigaction結構體 act.sa_sigaction = signalDeal; //指定信號處理函數 sigemptyset(&act.sa_mask); //清空信號集中的信號 act.sa_flags = SA_SIGINFO; //信號附帶的參數可以被傳遞到處理函數中 sigaction(SIGINT,&act,NULL); //設置SIGINT處理函數 sigaction(SIGQUIT,&act,NULL); //設置SIGQUIT處理函數 while(1) { } return 0; }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。