Linux系统编程32:进程信号之详解信号集操作函数(sigset_t ,sigpending,sigprocmask)
生活随笔
收集整理的這篇文章主要介紹了
Linux系统编程32:进程信号之详解信号集操作函数(sigset_t ,sigpending,sigprocmask)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- (1)sigset_t
- (2)信號集操作函數
(1)sigset_t
前面說過,未決和阻塞分別用位圖來表示,于是我們把保存位圖這樣的數據類型稱為sigset_t,sigset_t稱為信號集,于是他們分別稱為阻塞信號集和未決信號集
sigset_t這種類型可以表示每個信號的有效和無效的狀態(阻塞信號集的有效和無效的含義是該信號是否被阻塞,未決信號集則是該信號是否處于未決狀態),其中阻塞信號集也叫做當前進程的信號屏蔽字(SignaL Mask)
(2)信號集操作函數
sigset既然是一個保存位圖的數據類型,那么是否直接修改它對應數據的比特位就能達到屏蔽信號,產生信號的目的呢?答案是可以的,但是由于這個類型內部如何存儲這些位圖要依賴于系統實現,簡單來說不同平臺的存儲方式是不一樣的,所以我們不能直接操作比特位,我們只能調用一下函數來操作sigset_t變量
(注意以下函數僅在操作變量,它并沒有深入到內核中改變對應的位圖,就像ftok函數生成key的作用一樣&#x
總結
以上是生活随笔為你收集整理的Linux系统编程32:进程信号之详解信号集操作函数(sigset_t ,sigpending,sigprocmask)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell脚本中的括号和实例
- 下一篇: Linux下的sort排序命令详解(二)