信號(hào)在進(jìn)程間通信里面應(yīng)該是使用場景最多的一個(gè)。
平時(shí)我們在終端里面用的 CTRL C 結(jié)束進(jìn)程或者CTRL Z 暫停進(jìn)程,都屬于信號(hào)的一種。
Linux里面信號(hào)有60多個(gè),分為標(biāo)準(zhǔn)信號(hào)和實(shí)時(shí)信號(hào),編號(hào)從1到31,34到64。不同的內(nèi)核版本略有區(qū)別。
發(fā)送信號(hào)一般用 kill 指令,比如啟動(dòng)一個(gè)進(jìn)程,先查到進(jìn)程的 ID 號(hào),然后使用 kill -2 加上進(jìn)程號(hào)就能結(jié)束進(jìn)程。其中,-2 表示 SIGINT 信號(hào),這個(gè)宏在 signal.h 頭文件里面有定義。使用這些信號(hào)的時(shí)候,既可以用宏定義,又可以用編號(hào)。
結(jié)束一個(gè)進(jìn)程,很多時(shí)候會(huì)選擇 kill -9 ,為什么選擇 9 這個(gè)信號(hào),因?yàn)檫@個(gè)信號(hào)比較特殊,所有進(jìn)程都不能忽略它。
kill不僅是命令,還是一個(gè)函數(shù),用法和命令差不多也是提供進(jìn)程號(hào),加上要發(fā)送的信號(hào)值,收到信號(hào)的進(jìn)程默認(rèn)動(dòng)作是結(jié)束。不過也可以通過 signal 或者 sigaction 來指定處理方法,可以是忽略當(dāng)前信號(hào),也可以執(zhí)行指定的函數(shù)。
審核編輯:黃飛
-
Linux
+關(guān)注
關(guān)注
88文章
11771瀏覽量
219111 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67570 -
進(jìn)程
+關(guān)注
關(guān)注
0文章
211瀏覽量
14544 -
實(shí)時(shí)信號(hào)
+關(guān)注
關(guān)注
0文章
4瀏覽量
5286
原文標(biāo)題:進(jìn)程間通信之信號(hào)
文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
飛凌嵌入式ElfBoard-進(jìn)程的相關(guān)信息之父進(jìn)程和子進(jìn)程
飛凌嵌入式ElfBoard-進(jìn)程之什么是進(jìn)程
Linux進(jìn)程樹分析工具pstree詳解與實(shí)戰(zhàn)指南(另一視角優(yōu)化Linux系統(tǒng))
進(jìn)程通信
進(jìn)程的控制
安捷倫E4406A矢量信號(hào)分析儀:早期數(shù)字通信測試的實(shí)用平臺(tái)
解析Linux的進(jìn)程、線程和協(xié)程
Linux進(jìn)程間通信(IPC)全解析:從管道到?Socket,一篇講透
【HZ-T536開發(fā)板免費(fèi)體驗(yàn)】—— linux 進(jìn)程創(chuàng)建
一文詳解移動(dòng)通信中的干擾信號(hào)
Keysight是德MSOX3054T示波器FFT頻譜分析在通信領(lǐng)域的深度應(yīng)用
是德頻譜分析儀對微波信號(hào)頻率穩(wěn)定性的測量與分析
探索信號(hào)分析的奇妙世界
是德示波器在射頻信號(hào)調(diào)制分析中的應(yīng)用
是德頻譜分析儀在無線通信信號(hào)分析中的應(yīng)用研究
進(jìn)程間通信的信號(hào)問題分析
評論