zoukankan      html  css  js  c++  java
  • 僵尸进程与孤儿进程

    from multiprocessing import Process
    import time
    import os
    
    
    def task(name):                                                               # os.getppid()查看父进程编号
        print("%s is running, parent id is <%s>" % (os.getpid(), os.getppid()))   # os.getpid()查看自己进程编号
        time.sleep(3)   # 模拟任务运行一段时间
        print("%s is done, parent id is <%s>" % (os.getpid(), os.getppid()))
    
    
    if __name__ == "__main__":    # windows 一定要把开启指令放到main下面  Linux无所谓
        # Process(target=task, kargs={"name" : "子进程"})  # 方式1
        p = Process(target=task, args=("子进程1",))  # 方式2  实例化得到一个对象
        p.start()    # (仅仅只是给操作系统发送了一个信号)开启子进程,帮你执行task
    
        print("主", os.getpid(), os.getppid())  # 此时的父进程是pycharm
    

      父进程的运行过程中开了子进程,这两个进程共用一个打印终端。父进程打印完 主 14140 124 后并没有结束掉。等着子进程运行完后,主进程才会结束。

    父进程任何时候查看子进程都能找到(僵尸进程)。子进程结束掉后,留一个状态信息。父进程结束后会清理掉所有信息。

    僵尸进程缺点:多个pid被占。如果父进程一直不死,就会有害

    孤儿进程:子进程没结束,父进程结束。在Linuxs系统中有一个init进程,是所有进程的父进程。此时,子进程的状态信息由init进程接管

    孤儿进程无害,僵尸进程有害。

  • 相关阅读:
    PHP里文件的查找方式及写法
    上传文件
    用ajax对数据进行查看人员信息
    ajax实现分页
    jquery做个日期选择适用于手机端
    PHP用ajia代码写三级联动下拉
    JSON数据的定义
    jquery做一些小的特效
    对jquery操作复选框
    使用 LUT 模拟光照
  • 原文地址:https://www.cnblogs.com/fantsaymwq/p/10125157.html
Copyright © 2011-2022 走看看