Files
XMuli af8f6765d5 feat: 系统未决信号集、系统阻塞信号集、自定义信号集,以及信号捕捉处理
- 自定义信号集:
  - sigaddset()    //将指定信号置为 1,添加到自定义集中
  - sigdelset()    //将指定信号置为 0,添加到自定义集中
  - sigemptyset()  //将所有信号置为 0,清空
  - sigfillset()   //将所有信号置为 1,填充
  - sigismember()  //判断指定信号是否存在,是否为 1

- 系统信号集:
  - sigprocmask()   //将自定义信号集设置给阻塞信号集。
  - sigprocmask()   //读取当前信号的未决信号集。参数为输出参数,内核将未决信号集写入 set

- 信号捕捉:
  - signal()        //实现信号捕捉的功能;最简单使用一个函数。
  - sigaction()     //同上,多一个额外功能,运行期间能够**临时** 屏蔽指定信号
2025-04-29 23:41:36 +08:00

26 lines
515 B
C++

#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
#include <sys/time.h>
#include <signal.h>
int main(int argc, char *argv[])
{
while (true) {
sigset_t pendest;
sigpending(&pendest);
for (int i = 0; i < 64; i++) { //每隔一秒,对系统信号阻塞集的信号做一次校验
if (sigismember(&pendest, i))
printf("1");
else
printf("0");
}
printf("\n");
sleep(1);
}
return 0;
}