要阻塞或忽略Linux中的SIGINT信号(Ctrl+C),可以使用signal.h头文件中定义的signal函数来注册一个信号处理程序。以下是一些方法:
- 阻塞SIGINT信号:
#includeint main() { sigset_t mask; sigemptyset(&mask); sigaddset(&mask, SIGINT); sigprocmask(SIG_BLOCK, &mask, NULL); // 执行你的程序逻辑 return 0; }
- 忽略SIGINT信号:
#includevoid handle_sigint(int sig) { // 空函数,即忽略SIGINT信号 } int main() { signal(SIGINT, handle_sigint); // 执行你的程序逻辑 return 0; }
请注意,在忽略SIGINT信号时,可以选择注册一个空函数作为信号处理程序,也可以不注册任何处理程序。阻塞信号和忽略信号的方法取决于你的需求和程序逻辑。