美文网首页
进程之其他进程

进程之其他进程

作者: 遇明不散 | 来源:发表于2019-04-19 10:02 被阅读0次

    僵尸进程

    定义

    子进程先于父进程退出,父进程没有对子进程的退出做出相应的处理,此时子进程就会变成僵尸进程

    影响

    进程退出后,仍有部分信息残留在内存中占用空间,大量的僵尸进程会消耗系统资源,影响系统运行,所以应该尽量避免僵尸进程的产生

    僵尸进程的处理方法
    父进程处理子进程的退出退出状态(阻塞父进程的运行)
    • pid,status = os.wait() 在父进程中阻塞等待处理子进程退出
      • 返回值:
        返回一个包含两个元素的元组,第一个是退出的子进程的PID号,第二个是子进程的退出状态
    • pid,status = os.waitpid(pid,option) 在父进程中阻塞等待处理子进程退出
      • 参数:
        • pid -1 表示等待任意子进程退出
        • pid >0 表示等待对应PID号的子进程退出
        • option 0 表示阻塞等待
        • option WNOHANG 表示非阻塞状态
        • wait() === waitpid(-1,0)
      • 返回值:
        返回一个包含两个元素的元组,第一个是退出的子进程的PID号,第二个是子进程的退出状态
    • 让父进程先退出(不好控制)
      • 父进程创建子进程等待子进程退出
      • 子进程创建二级子进程后立即退出
      • 二级子进程成为为孤儿进程,和原来的父进程各自执行事件
    • 在父进程中使用信号处理的方法忽略子进程发来的信号signal(SIGCHLD,SIG_ING)

    孤儿进程

    定义

    父进程先于子进程退出,此时子进程就会变为孤儿进程

    影响
    • 当一个进程变为孤儿进程,操作系统会指定一个进程成为孤儿进程新的父进程
    • 当孤儿进程退出时,系统会自动回收孤儿,使它不会成为僵尸
    • 孤儿进程对系统资源没什么影响

    守护进程

    • 生命周期长
    • 与前端控制台无关
    • 后台运行,一般用作系统进程或者自动化运行进程

    相关文章

      网友评论

          本文标题:进程之其他进程

          本文链接:https://www.haomeiwen.com/subject/hpnfgqtx.html