UNIX 存在一种机制:在每个进程退出的同时,操作系统释放该进程所有资源,但仍然保留一定的信息(PID / Status / runtime),直到父进程执行 wait() / waitpid(),以便父进程得到子进程状态信息
此时这个子进程就由正常进程(Running)变成了僵尸进程(Zombie)
 
但系统中可用的进程号是有限的,大量的僵尸进程将会导致无法生成新的进程,阻碍系统正常运行
 
僵尸进程常见的处理方式有两种:

  1. 父进程wait() / waitpid() 主动结束子进程
  2. 父进程结束,此时子进程成为孤儿进程,将由 init(内核启动的第一个用户级进程,pid == 1) 接管
    (系统在每次进程结束时会扫描所有运行中的进程,查看是否有刚结束进程的子进程,如果存在则由init接管)

最新文章

  1. 从jquery里的$.ajax()到angularjs的$http
  2. POJ 2431Expedition
  3. Java和Ibatis调用存储过程并取得返回值详解
  4. easyui 获得父级tabs跳转
  5. 比较用decodeFileDescriptor和decodeFile的区别
  6. 清除HTML中的特殊字符
  7. 【HDOJ】1720 A+B coming
  8. Android30-Fragment-理解
  9. .NET中 类型,对象,线程栈,托管堆在运行时的关系
  10. Centos下PXE+Kickstart无人值守安装操作系统
  11. 谈谈Grunt,NPM,Gulp
  12. Ionic3的HTTP请求方法
  13. 深入Java虚拟机(2)——Java的平台无关性
  14. Saltstack_使用指南02_远程执行-验证
  15. 写自己的ASP.NET MVC框架(下)
  16. js-JavaScript实现数字的千位分隔符
  17. Low Power之CPF/UPF
  18. BI实战派:医疗BI项目落地方案
  19. Learn2Rank
  20. Node.js究竟是什么?

热门文章

  1. OptimalSolution(3)--链表问题(1)简单
  2. idea 2019 1 spring boot 启动报错 An incompatible version [1.2.12] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
  3. Tomcat项目部署
  4. 第三十三章 System V共享内存与信号量综合
  5. 前端与算法 leetcode 1. 两数之和
  6. 大厂面试经:说一下你们线上JVM是如何优化的?
  7. IDEA升级,提示"Connection Error Failed to prepare an update"
  8. pssh系列工具
  9. Java把一个文件,输出成多个文件
  10. 解决vuex的数据刷新(F5)后会被初始化的问题