日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > Linux系統(tǒng)編程_10_信號

Linux系統(tǒng)編程_10_信號

來源:程序員人生   發(fā)布時間:2015-01-14 09:10:51 閱讀次數(shù):2603次

    信號處理機制在linux編程中非常重要,它類似于單片機中的中斷系統(tǒng);我們在編寫中斷函數(shù)時,需要設(shè)置中斷函數(shù)的地址,設(shè)置其相應(yīng)的寄存器,以便于產(chǎn)生中斷事件時可以正確的跳到中斷函數(shù)去履行;

linux中信號和這個類似,1般的編程模型是定義中斷函數(shù),然后把中斷函數(shù)注冊,使得進程收到特定的信號時,可以跳到信號處理函數(shù)去履行;


1.kill函數(shù)與raise函數(shù)

kill函數(shù)用來將信號發(fā)送給進程或進程組;

      ――int kill(pid_t pid,  int signo);

raise函數(shù)則允許進程向本身發(fā)送信號;

     ――int raise(int signo);

調(diào)用raise(signo);等價于kill(getpid(), signo);


不單單是kill函數(shù)  kill命令也能夠用來發(fā)送信號:

如:

kill -l ――列出所有信號

kill -s 10 pid ―― 10代表SIGUSR1 pid代表向哪一個進程發(fā)送USR1信號

也能夠這樣寫:kill -USR1 pid


回到kill函數(shù);

注意:kill函數(shù)的第1個參數(shù):



下面是1個使用kill函數(shù)的例子:

#include <stdio.h> #include <stdlib.h> #include <signal.h> pid_t pid; void fun(int a) { if(a == SIGABRT) printf("Have fun! "); if(a == SIGUSR1) { printf("Fuck! "); } } void send() { kill(pid, SIGUSR1);// Only send msg to progress or progress group! } int main() { int cnt = 0; signal(SIGABRT, fun); signal(SIGUSR1, fun); pid = fork(); if(pid == 0) { while(1) { printf("Child! "); sleep(1); } } while(1) { printf("Father! "); cnt++; if(cnt == 5) send(); sleep(1); } }


2. alarm函數(shù)和pause函數(shù)

alarm函數(shù)用來設(shè)定計時器,設(shè)定的某個時間超時時,會產(chǎn)生1個SIGALRM信號,如果不捕捉改信號,默許會終止調(diào)用該alarm函數(shù)的進程。

      ―― unsigned int alarm(unsigned int seconds);

pause函數(shù)使得調(diào)用進程掛起直到捕捉到1個信號。

     ―― int pause(void);

實例:

#include <signal.h> #include <stdio.h> void fun(int id) { if(id == SIGUSR1) { printf("SIGUSR1 "); } if(id == SIGALRM) { printf("SIGALRM! "); } } int main() { signal(SIGUSR1, fun); signal(SIGALRM, fun); alarm(5); // if not catch, progress return; for(;;) pause(); return 0; }

3.信號集

1個可以包括多個信號的信號集,這個數(shù)據(jù)類型是sigset_t,同時,也有相應(yīng)的信號集函數(shù);



還有以下1些函數(shù):








生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲国产精品久久久久秋霞不卡 | 成人性生交大片免费看中文 | 国产精品区一区二区三在线播放 | 色婷婷狠 | 国产精品1区2区 | 国产精品自拍视频 | 久久综合亚洲 | 中文字幕亚洲视频 | 国产精品久久久久久久久久久免费看 | 国产另类在线视频 | 国产成人精品不卡 | 久久久精品在线 | 综合久久久久久久 | 日本欧美视频 | a黄色 | 国内在线视频 | 日韩在线免费 | 国产精品久久久亚洲 | 亚洲欧美日韩一区 | 二区欧美 | 欧美一区二区三区免费看 | 国产黄色片在线观看 | 三级av| 日韩欧乱色一区二区三区在线 | 99久久精品国产免费看不卡 | 日韩在线亚洲 | 久久久成 | 91在线精品一区二区 | 国产精品伦一区二区三级视频 | 国产高清精品在线 | 日韩成人在线播放 | 国产精品一区一区三区 | 乱码一区 | 精品视频在线观看 | 亚洲aa在线 | 国产一区二区三区四区五区入口 | 国产玖玖 | 国产精品久久久久久久第一福利 | 综合一区av | 久草在线免费福利 | 免费在线观看av网站 |