运行结果:

文章插图
3)如果父进程不关心子进程时候结束,那么可以用signal(SIGCHLD,SIG_IGN)通知内核,自己对子进程的结束不感兴趣 , 父进程忽略此信号 , 那么子进程结束后 , 内核会回收,并不再给父进程发送信号 。
#include <stdio.h>#include <unistd.h>#include <signal.h>#include<sys/types.h>#include<sys/wait.h>int main(){pid_t pid;//忽略子进程退出信号的信号//那么子进程结束之后,内核会回收,并不再给父进程发送信号signal(SIGCHLD,SIG_IGN);//创建进程pid = fork();if(pid<0){perror("fork");exit(1);}else if(pid == 0){//子进程printf("我是子进程,pid id :%d.我正在退出\n",getpid());exit(0);}else if(pid>0){//父进程sleep(2);//保证子进程先运行printf("我是父亲,我正在退出\n");system("ps -ef|grep defunct");//查看有没有僵尸进程}return 0;}
运行结果:
文章插图
推荐阅读
- too同义词|too的同义词
- 二 SpringCloud - Eureka注册中心,feign远程调用,hystrix降级和熔断
- 焊工证个人信息查询入口 查询入口
- Docker在windows系统以及Linux系统的安装
- 二 京东云开发者| Redis数据结构-List、Hash、Set及Sorted Set的结构实现
- 一篇文章带你了解服务器操作系统——Linux简单入门
- 二、python基本数据类型
- 二 【SSM】学习笔记——SpringMVC入门
- 原神片剂深研第二关怎么通关
- 一步一图带你深入理解 Linux 虚拟内存管理