经测试,子进程是可以继承父进程的信号处理设置
#include <sys/types.h>
#include <unistd.h>#include <signal.h>
#include <stdio.h>
void Sig_Handle(int signo){
printf("Get signal SIGUSR1\n");
}
int main(int args,char *argc[])
{
signal(SIGUSR1,Sig_Handle);
pid_t pid;
pid=fork();
if(pid==0){
printf("child wait signal from father\n");
pause();
}else{
sleep(1); /*这里存在时间窗口,如果父进程先执行,那么子进程在执行之前收到信号会一直阻塞在pause()*/
printf("father send SIGUSR1 to child\n");
kill(pid,SIGUSR1);
printf("father exit\n");
}
return 0;
}