我正在尝试捕获c中的信号,并在子进程正常处理时忽略父进程。我目前有:
#include<signal.h>
#include<bits/sigaction.h>
int main(){
struct sigaction parentsig, childsig;
parentsig.sa_handler = SIG_IGN;
sigaction(SIGINT, &parentsig, &childsig);
return 0;
}
我目前正在使用gcc -std=c99 -o smallsh smallsh.c
进行编译,但收到错误implicit declaration of function ‘sigaction’
。经过一些调试后,我发现它与sigaction(SIGINT, &parentsig, &childsig)
行有关。我能找到的每个例子都有类似的东西,因为它设置处理信号时要遵循的结构。有人可以解释一下我做错了吗?