新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 進(jìn)程間通信之:信號(hào)

進(jìn)程間通信之:信號(hào)

作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò) 收藏

本文引用地址:http://butianyuan.cn/article/257126.htm

/*在屏蔽字中刪除set中的*/

if(sigprocmask(SIG_UNBLOCK,set,NULL)0)

{

perror(sigprocmask);

exit(1);

}

else

{

printf(Signalsetisinunblockstaten);

}

while(1);

exit(0);

}

該程序的運(yùn)行結(jié)果如下所示,可以看見,在處于阻塞狀態(tài)時(shí),所發(fā)出的信號(hào)對(duì)進(jìn)程不起作用,并且該信號(hào)進(jìn)入待處理狀態(tài)。讀者輸入任意鍵,并且信號(hào)脫離了阻塞狀態(tài)之后,用戶發(fā)出的信號(hào)才能正常運(yùn)行。這里SIGINT已按照用戶自定義的函數(shù)運(yùn)行,請(qǐng)讀者注意阻塞狀態(tài)下SIGINT的處理和非阻塞狀態(tài)下SIGINT的處理有何不同。

$./sigset

Signalsetwasblocked,Pressanykey!/*此時(shí)按任何鍵可以解除阻塞屏蔽字*/

Ifyouwanttoquit,pleasetrySIGQUIT/*阻塞狀態(tài)下SIGINT的處理*/

Signalsetisinunblockstate/*從信號(hào)屏蔽字中刪除set中的信號(hào)*/

Ifyouwanttoquit,pleasetrySIGQUIT/*非阻塞狀態(tài)下SIGINT的處理*/

Ifyouwanttoquit,pleasetrySIGQUIT

Quit/*非阻塞狀態(tài)下SIGQUIT處理*/

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

模擬信號(hào)相關(guān)文章:什么是模擬信號(hào)


linux相關(guān)文章:linux教程


數(shù)字通信相關(guān)文章:數(shù)字通信原理


通信相關(guān)文章:通信原理



上一頁(yè) 1 2 3 4 5 6 7 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉