1、wait()函数

  原型:pid_t  wait(int *status)

  子进程退出时,它向父进程发送一个SIGCHLD信号,默认情况是总是忽略SIGCHLD信号,此时进程状态一直保留在内存中,因此需要父进程去处理改信号,处理的办法则是调用wait()函数,收集子进程状态信息,并清空该信息;

  使用wait()来等待子进程终止运行称为回收进程;

  当父进程忘了用wait()函数等待已终止的子进程时,子进程就会进入一种无父进程的状态,此时子进程就是僵尸进程.wait()要与fork()配套出现,如果在使用fork()之前调用wait(),wait()的返回值则为-1,正常情况下wait()的返回值为子进程的PID.
  如果先终止父进程,子进程将继续正常进行,只是它将由init进程(PID 1)继承,当子进程终止时,init进程捕获这个状态;

  僵尸进程产生场景:父进程后于子进程退出,并且父进程中没有使用wait()处理子进程的信号;

最新文章

  1. C#连接Access数据库(详解)
  2. poj 2104 K-th Number (划分树入门 或者 主席树入门)
  3. 关于iframe的滚动条,如何去掉水平滚动条或垂直滚动条
  4. Activity not started, its current task has been brought to the front
  5. HDU5934 Bomb(2016杭州CCPC第二题)(强连通缩点)
  6. 课堂所讲整理:包装&工具类
  7. C++11智能指针
  8. 什么是jetty
  9. sqlserver存储过程及易错点
  10. java系列--MD5加密
  11. EL表达式 与 servlvet3.0的新规范
  12. 面试挂在了 LRU 缓存算法设计上
  13. dbutils工具类使用
  14. mysql 小数转换成百分数查出(保留两位小数百分数)
  15. mac 使用笔记日志
  16. 更换Ubuntu源为国内源的操作记录
  17. https和server-status配置案例
  18. nginx的日志切割
  19. 不错网络性能相关的文章-BaiduRPC
  20. erase操作

热门文章

  1. C++学习之引用
  2. git配置ssh
  3. .NET DataGrid 导出Excel 无分页
  4. django学习之Model(五)MakingQuery
  5. file_get_contents post数据
  6. 侯捷C++ Type traits(类型萃取
  7. Android常用控件之ExpandableList的使用
  8. jquery简单判断PC端还是移动端
  9. Candy----HDU4465----数学题
  10. python邮件发送脚本