色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 進程間通信之信號初體驗

進程間通信之信號初體驗 時間:2018-09-29      來源:未知

信號初體驗:

1.信號通信的理解

內核中有通信對象,前邊通信對象是管道,這里是信號。

如果進程1想與進程2通過信號通信,不能通過用戶空間,它必須先告訴內核,讓內核告訴進程2 如圖所示:

  

2.信號的含義:

下面看內核空間有多少種信號 可以通過kill 加個選項-l  可以看到內核總共可以發送64種信號:數字代表信號的ID 后邊的宏代表他的功能,每個信號都有他的意義。

查看每個信號的含義:

man 7 signal

SIGINT ctrl+c 發出的信號

SIGQUIT ctrl+\  終止程序 產生內存映像文件

SIGILL  非法指令   

SIGABRT 通過abort函數實現程序終止

SIGFPE   除數為0 就會產生這個信號 叫浮點異常

SIGKILL 必殺信號

SIGSEGV  段錯誤 

SIGPIPE  管道破裂

SIGALRM   alarm是鬧鐘信號,用alarm()函數設置鬧鐘,告訴系統時間到了,就會發送

SIGTERM    終止信號 kill命令就是向進程發這個的信號

SIGCHLD    子進程終止或停止的時候 會向父進程發此信號

SIGCONT   讓一個暫停的進程繼續

SIGSTOP    讓一個進程暫停

SIGTSTP    按下CTRL+Z  

3.關于信號的發送存在這兩個個問題 

a.內核中很多信號,比如進程1發送信號給進程2,用戶空間發送不了,用戶空間不具備發送信號的能力;進程1想讓內核發送信號給進程2,必須告訴內核要發什么信號,信號的編號是什么。

b.用戶空間有很多進程,對于內核來講,到底給哪個進程發送信號?所以進程1要告訴內核發信號給應用層的哪個進程。

因此發送信號給指定進程需要兩個參數:信號的編號和進程的編號。

4.實戰深入理解

之前學過linux命令kill, kill 9 pid可以殺死指定進程,9就是編號為9的信號,我們寫個程序完成之前的kill 9操作。

第一步:先寫個”求死”進程。

linux@ubuntu:~$ vim test.c

linux@ubuntu:~$ gcc test.c 



通過kill命令進入內核,kill命令其實也是應用程序。kill函數是系統調用函數,告訴內核發送9號信號;第二個選項是發送pid,告訴內核,發給test.c進程,test.c進程就會收到這個信號。

這里我們總結下 kill函數的形式:

kill(pid_t pid,int sig)

  pid:整數,要接收信號的進程的進程號

       0 信號被發送到所有和pid進程在同一個進程組的進程

   -1  信號發送給所有的進程表中的進程(除了進程號大的進程外)

      sig:信號編號

第二步:使用快捷鍵 CTRL+ALT+T 再打開一個終端  寫個kill函數,實現kill命令功能。

linux@ubuntu:~$ vim kill.c

linux@ubuntu:~$ gcc kill.c -o kill

linux@ubuntu:~$ ./kill  9  4245

切換終端  觀察之前的test.c進程

進程4245,也就是test.c進程已經被killed,實現的過程為kill.c進程發送信號給內核

內核收到信號9及進程編號4245后 發信號給4245,進程4245響應信號,執行默認的信號處理方式,即殺死進程。

上一篇:Linux音頻ASoC架構驅動解析

下一篇:.h文件與.c文件的基本寫法

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 欧美一级大片视频| 亚洲电影天堂av| 97国产在线观看| 欧美一级黄色网| 国产精品成人品| 亚洲xxxx18| 国产一区二区三区在线观看视频| 日韩精品高清在线| 国产亚洲精品91在线| 日韩中文字幕在线观看| 黑人欧美xxxx| 欧洲一区二区视频| 91久久久久久久久久| 国产视频精品一区二区三区| www.xxxx精品| 97视频在线观看播放| 国产日韩欧美黄色| 亚洲美女精品成人在线视频| 超在线视频97| 欧美大片免费观看| 国产精品一区二区久久久| 亚洲欧美精品一区二区| 欧美日韩国产在线播放| 国产精品jvid在线观看蜜臀| 亚洲电影av在线| 久久午夜a级毛片| 日韩av电影手机在线| 亚洲第一男人天堂| 欧美精品免费看| 国产精品久久久久av免费| 亚洲少妇激情视频| 久久久久久久91| 亚洲精品电影久久久| 岛国视频午夜一区免费在线观看| 青青草原一区二区| 亚洲人成免费电影| 777国产偷窥盗摄精品视频| 亚洲精品国产精品国自产在线 | www.亚洲成人| 欧美亚洲视频一区二区| 日韩国产激情在线|