进程被杀的信号,Linux 父进程发送信号杀死子进程"/>
linux 父进程被杀的信号,Linux 父进程发送信号杀死子进程
#include
#include
#include
#include
#include
void handler(int arg)
{
printf("receive SIGCHLD\n");
}
int main(int argc, const char *argv[])
{
signal(SIGCHLD,handler); //注册信号回调函数,当信号发生会调用handler
pid_t pid;
pid = fork();
if(pid < )
{
perror("fork fail ");
exit();
}
else if(pid == ) //子进程
{
while()
{
printf("child \n");
sleep();
}
}
else //父进程
{
sleep(); //睡 1 秒
kill(pid,SIGKILL);//杀死 pid 发送进程的信号,kill 给其他进程发送信号,指定进程号
printf("child killed\n");
printf("father \n");
wait(NULL); //等待回收子进程的资源
raise(SIGKILL); //杀死自己的信号,函数raise 给自己发送信号
更多推荐
linux 父进程被杀的信号,Linux 父进程发送信号杀死子进程
发布评论