linux僵尸进程
来源:互联网 发布:java正则匹配包含邮箱 编辑:程序博客网 时间:2024/05/18 00:50
僵尸进程
1、子进程结束但是没有完全释放内存(在内核中的task_struct没有释放),该进程就成为僵尸进程。
2、当僵尸进程的父进程结束后就会被init进程领养,最终被回收。
3、避免僵尸进程
1)让僵尸进程的父进程来回收,父进程每隔一段时间来查询子进程是否结束并回收,调用wait()或者waitpid() ,通知内核释放僵尸进程。
2)采用信号SIGCHLD通知处理,并在信号处理程序中调用wait函数。
3)让僵尸进程成为孤儿进程,由init进程回收。
/*
* process_zombie.c*
* Created on: 2016-11-28
* Author: river
*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main()
{
pid_t pid;
pid = fork();
if(pid < 0)
{
perror("fork error");
exit(1);
}
else if(pid == 0)//子进程
{
printf("pid: %d, ppid: %d\n", getpid(), getppid());
exit(0);//子进程结束,称为僵尸进程
}
while(1)//父进程继续做循环
{
sleep(1);
}
exit(0);
}
0 0
- Linux--进程--僵尸进程
- linux中的。"僵尸"进程
- 关于linux 僵尸进程
- 关于linux 僵尸进程
- 关于linux 僵尸进程
- linux僵尸进程
- Linux僵尸进程
- Linux中的僵尸进程
- linux 僵尸进程
- linux 僵尸进程
- linux中的僵尸进程
- Linux的僵尸进程
- Linux 僵尸进程
- LInux中查杀僵尸进程
- linux僵尸进程
- Linux中僵尸进程
- Linux僵尸进程
- Linux Zombie 僵尸进程
- vim学习笔记
- 常见对象_正则表达式的分割功能
- hdu 2202 最大三角形 凸包的性质
- cl
- mvp设计模式的个人理解
- linux僵尸进程
- 常见对象_分割功能的小练习
- j2se(三)_String类,StringBuffer类,StringBuilder类
- Hibernate之对象关系映射03一对一单向外键关联
- 【备注】【C38】《Android开发权威指南》PDF 下载
- matplotlib-------matplotlibrc
- 初步解决MyEclipse 2015启动tomcat服务器时, jar包无法发布到tomcat lib目录下的问题
- Java开发相关面试题-1
- AR人脸数据库pgm图片转换jpg,matlab实现程序