【发布时间】:2018-10-29 18:02:06
【问题描述】:
目前我正在编写一个 shell,并为我的子进程使用 waitpid() 函数。
我还安装了一个信号处理程序,因此我可以捕获 SIGINT (CTRL+C) 信号。
所以我现在想要的是当有人按下 SIGINT (CTRL+C) 信号时,它应该离开 waitpid() 函数并像往常一样继续运行。
我正在寻找一个可以帮助我的函数。
【问题讨论】:
-
拨打
sigaction()时不要在标志中设置SA_RESTART。 -
...
sigaction()比使用signal()安装信号处理程序更受欢迎。 -
考虑同时处理
SIGCHLD信号,参见signal(7) & signal-safety(7)