日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 信号随笔

發(fā)布時間:2025/7/14 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 信号随笔 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

POSIX標準定義了數(shù)據(jù)類型sigset_t來表示信號集。

  •  sigprocmask函數(shù)
  •     每一個進程都有一個信號屏蔽碼,它規(guī)定了當前阻塞而不能遞送給該進程的信號集。函數(shù)sigprocmask可以檢測或者更改進程的信號屏蔽碼。

    int sigprocmask(int how, const sigset_t * set, sigset_t * oldset);

    如果oldset為非空指針,則該進程之前的信號屏蔽碼通過oldset返回。

    如果set為非空指針,則該函數(shù)將根據(jù)how來修改信號當前的屏蔽碼,how的取值如下:

    (1)SIG_BLOCK:將進程新的信號屏蔽碼設(shè)置成為當前信號屏蔽碼和set指向信號集的并集。

    (2)SIG_UNBLOC:將進程新的信號屏蔽碼設(shè)置成為當前信號屏蔽碼中,刪除set所指向的信號集,即set指針包含著我們希望解除阻塞的信號。即使對當前信號屏蔽碼中不存在的信號使用SIG_UNBLOCK也是合法的。

    (3)SIG_SETMASK:將進程新的信號屏蔽碼設(shè)置成為set所指向的。

    ?

      2.?  sigpending函數(shù)

    int sigpengding(sigset_t *set);用來獲取當前未決的信號集。

    3.  sigsuspend函數(shù)

    int sigsuspend(const sigset_t * mask);將進程屏蔽碼設(shè)置成為mask,然后與pause函數(shù)一樣,等待信號的發(fā)生并執(zhí)行完信號處理函數(shù)。信號處理函數(shù)執(zhí)行完后再把進程的信號屏蔽碼設(shè)置為原來的屏蔽字,然后sigsuspend函數(shù)才返回。sigsuspeng保證改變進程的屏蔽碼和將進程掛起等待信號的操作是原子操作。

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/nathan-1988/archive/2012/06/25/2560872.html

    總結(jié)

    以上是生活随笔為你收集整理的Linux 信号随笔的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。