我为处理 SIGINT 信号而创建的函数陷入了一个恒定循环。这个想法是让 CTRL-C 被父进程忽略但发送到子进程(他们默认处理它)。发生的情况是当我按下 CTRL-C 时,会调用信号处理函数,但会陷入无限循环。kill 调用应该向进程组中的所有进程发送 SIGTERM,但发送方进程除外。任何帮助,将不胜感激。
功能代码为:
void intHandler(int signum) {
kill(0, SIGTERM);
}
函数调用代码(在 main 中)是:
(void) sigset(SIGINT, intHandler);