程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> Linux下C編程:信號集及操作

Linux下C編程:信號集及操作

編輯:關於C語言

在實際的應用中一個應用程序需要對多個信號進行處理,為了方便,linux系統引進了信號集的概念。信號集用多個信號組成的數據類型sigset_t.可用以下的系統調用設置信號集中所包含的數據。

1、常見信號及定義如圖:

2、sigset_t在linux2.6.39/include/asm-generic/signal.h中定義

typedef struct {

     unsignedlong sig[_NSIG_WORDS];
           
} sigset_t;

3、相應的系統調用函數:

#include<signal.h>      
 
int sigemptyset(sigset_t *set); 

int sigfillset(sigset_t *set);

int sigadd(sigset_t *set,int setnumber);

int sigdelset(sigset_t *set,int setnumber);

set表示信號集指針,setnumber表示信號。

sigemptyset用於將set指向的信號集設為空,即不包含任何信號。

sigfillset用於將set指向的信號集設為滿,即包含所有的信號。

sigaddset用於向信號集中添加信號。

sigdelset用於向信號集中刪除信號。

以上函數成功返回0,失敗返回-1

4、另外,int sigismember(const sigset_t set,int signumber),用於檢測signumber是否在set中,若屬於返回1,不是返回0.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved