linux 中的僵死进程和孤儿进程
2014-11-08 21:01
477 查看
当我们使用创建进程的函数fork(),vfork()等,创建了子进程
1.子进程先于父亲进程退出,会造成子进程的进程编号无法释放.(进程编号的范围很大,但不应该随意浪费)
2.子进程后于父亲进程退出,子进程会交给init()进程管理.
3.一个进程在执行完毕后,系统会自动清空其存在的进程的相关资源
结合上面说明,一个僵死进程的例子.
我们创建的僵死进程后面还出现了一个defunc(死人,僵尸)的标号
创建一个孤儿进程
你会发现第二次输出的子进程已经交给init()进程托管了.
1.子进程先于父亲进程退出,会造成子进程的进程编号无法释放.(进程编号的范围很大,但不应该随意浪费)
2.子进程后于父亲进程退出,子进程会交给init()进程管理.
3.一个进程在执行完毕后,系统会自动清空其存在的进程的相关资源
结合上面说明,一个僵死进程的例子.
#include <stdio.h> #include <sys/types.h> int main(){ pid_t p=fork(); if(p<0){ perror("for create a processor!"); return -1; }else if(p>0){ sleep(1); system("ps u"); } return 0; }
我们创建的僵死进程后面还出现了一个defunc(死人,僵尸)的标号
创建一个孤儿进程
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> int main(){ pid_t pid; pid = fork(); if(pid > 0){ sleep(1); exit(3); }else if(pid == 0){ printf("before:PID:%d,PPID:%d\n", getpid(), getppid()); sleep(3); //printf("after:PID:%d,PPID:%d\n", getpid(), getppid()); system("ps -ef"); } }
你会发现第二次输出的子进程已经交给init()进程托管了.
相关文章推荐
- 快速理解Linux下僵死进程、孤儿进程和守护进程及无名管道
- Linux编写一个孤儿进程,这个孤儿进程可以同时创建100个僵死进程。
- 读书时间 05/25/2011 Linux C/C++ 孤儿进程
- Linux进程学习总结---孤儿进程和守护进程
- Linux进程:僵尸与孤儿
- Linux产生僵尸进程和孤儿进程及区别
- (转载)Linux僵死进程的产生与避免
- linux 僵死进程及处理
- .linux进程知识 程序存储、crontab、fork与vfork、exec、_exit()、wait()与waitpid()、孤儿和僵尸 文件读写 文件锁、select、poll
- 有关僵死进程和孤儿进程的小结
- Linux如何查找杀死僵死进程
- linux 查找僵死进程,并杀死进程
- Linux如何查找杀死僵死进程
- Linux中的 僵尸进程 和 孤儿进程
- Linux下查找杀死僵死进程
- Linux如何查找杀死僵死进程
- linux进程知识 程序存储、crontab、fork与vfork、exec、_exit()、wait()与waitpid()、孤儿和僵尸
- 自动杀死UNIX僵死的进程 - 红联Linux门户 - 中国领先的Linux技术网站 - 网站导航 - Linux企业应用 - UniX技术文章
- linux僵死进程的产生与避免
- linux僵死进程