首页 > 系统服务 > 详细

Linux 父进程发送信号杀死子进程

时间:2019-05-29 20:23:49      阅读:251      评论:0      收藏:0      [点我收藏+]

 

 

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <signal.h>
#include <unistd.h>
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 < 0) { perror("fork fail "); exit(1); } else if(pid == 0) //子进程 { while(1) { printf("child \n"); sleep(1); } } else //父进程 { sleep(1); //睡 1 秒 kill(pid,SIGKILL);//杀死 pid 发送进程的信号,kill 给其他进程发送信号,指定进程号 printf("child killed\n"); printf("father \n"); wait(NULL); //等待回收子进程的资源 raise(SIGKILL); //杀死自己的信号,函数raise 给自己发送信号 } return 0; }

 测试:

技术分享图片

 

Linux 父进程发送信号杀死子进程

原文:https://www.cnblogs.com/electronic/p/10945532.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!