美文网首页
关于处理多进程的僵尸进程的问题

关于处理多进程的僵尸进程的问题

作者: hock_ | 来源:发表于2020-02-01 17:37 被阅读0次

    在使用多进程的过程中,当子进程结束后,如果主进程不对子进程进行回收处理

子进程就会称为僵尸进程,当产生大量的僵尸进程的时候,就会占用计算机大量的资源

这时候就需要对僵尸进程进行处理:

处理方式:

    1:

        pid,status = os.wait()

        功能:再父进程中阻塞等待处理子进程退出

        返回值:pid退出的子进程的pid号

                status 获取子进程退出状态

        是一个阻塞函数,必须等子进程运行完后再运行父进程

2:

        pid,status = os.waitpid(pid,option)

        功能:再父进程中阻塞等待处理子进程退出

        参数: pid -1表示等待任意子进程退出

                  >0 表示等待对应PID号的子进程退出

              option  0 表示阻塞等待

                      WNOHANG 表示非阻塞

3:

让父进程先退出

        1、父进程创建子进程等待子进程退出

        2、子进程创建二级进程后立即退出

        3、二级子进程成为孤儿,和原来的父进程各自执行事件

4:

    最方便的最简洁的一种方法:

            使用不同之间的进程通信函数:

                    异步信号通信:

                                 signal.signal(signal.SIGCHLD,signal.SIG_IGN)

                                  对接收到的信号进行处理:SIGCHLD表示子进程状态改变对父进程发出的信号,SIG_IGN 表示对接收到的信号进行忽略

                   在该状态下,调用的子进程将不会产生僵尸进程,子进程会被丢弃

                    被系统自动回收就不会产生僵尸进程                 

相关文章

  • 关于处理多进程的僵尸进程的问题

    在使用多进程的过程中,当子进程结束后,如果主进程不对子进程进行回收处理 子进程就会称为僵尸进程,当产生大量的僵...

  • 104-僵尸进程

    多进程编程要注意僵尸进程。子进程没有可执行代码后将变成僵尸进程,如果父进程一直运行,又没有处理僵尸进程的代码,僵尸...

  • 进程之其他进程

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

  • 僵尸进程处理方案

    僵尸进程介绍 Z(zombie)-僵尸进程(子进程终止,父进程没有wait子进程) 僵尸进程产生原因 僵尸进程是当...

  • 如何杀死僵尸进程?

    僵尸进程定义?查看僵尸进程,利用命令ps,可以看到有标记为Z(zombie)的进程就是僵尸进程。 僵尸进程的危害?...

  • agent大量僵尸进程问题定位

    agent大量僵尸进程问题定位 参考: 孤儿进程与僵尸进程总结 Background agent每隔一秒会通过fr...

  • 孤儿进程、僵尸进程与进程回收

    孤儿进程与僵尸进程 孤儿进程:父亲死了,子进程被init进程领养僵尸进程:子进程死了,父进程没有回收子进程的资源(...

  • linux上关闭僵尸进程

    查看所有僵尸进程: 之后kill -9杀死僵尸进程的父进程。

  • 示例说明僵尸进程的危害及解决方法

    简述 首先简要说明下僵尸进程和孤儿进程的概念(前提都是父进程调用fork产生子进程) 僵尸进程:子进程终止,父进程...

  • 僵尸进程的产生和防范

    僵尸进程 僵尸进程的产生 fork产生的父进程和子进程有退出的先后顺序,如果子进程在父进程前退出就会产生,而父进程...

网友评论

      本文标题:关于处理多进程的僵尸进程的问题

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