#define _XOPEN_SOURCE 700 #include #include #include #include #include int main(int argc, char const *argv[]) { // 定义一个信号集 sigset_t set; // 所有信号填充到信号集 // sigfillset(&set); // printf("SIGINT in set ? %d\n", sigismember(&set, SIGINT)); // 清空set集 sigemptyset(&set); printf("SIGINT in set ? %d\n", sigismember(&set, SIGINT)); // 将SIGINT添加到set集合中 (Ctrl+C触发中断信号,终止进程) sigaddset(&set, SIGINT); // 将SIGTSTP添加到set集和中 (终端停止信号) sigaddset(&set, SIGTSTP); if (sigismember(&set, SIGINT)) { printf("SIGINT是在set集合中\n"); } else { printf("SIGINT不在set集合中\n"); } // 将SIGINT从集合中删除 sigdelset(&set, SIGINT); if (sigismember(&set, SIGINT)) { printf("SIGINT是在set集合中\n"); } else { printf("SIGINT不在set集合中\n"); } return 0; }