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