zoukankan      html  css  js  c++  java
  • Process的一些用法和守护进程

    Process的一些用法

    Process的join用法

    join():阻塞主进程,等待子进程结束以后,再往下执行

    from multiprocessing import Process
    import time
    
    def task():
        print('进程 start')
        time.sleep(2)
        print('进程 end')
    
    if __name__ == '__main__':
        p = Process(target=task)
        p.start()
        p.join()
        print('主进程')
    

    在当前进程的角度查看pid

    • 获取当前进程的pid:os.getpid()
    • 获取当前进程的父进程的pid:os.getppid()
    • 获取当前进程的子进程的pid:子进程对象.pid

    守护进程

    守护进程本质上也是一个子进程。

    主进程的代码执行完毕守护进程直接结束,但是主进程可能还没有结束。

    from multiprocessing import Process
    import time
    
    def task():
        print('守护进程 start')
        time.sleep(5)
        print('守护进程 end')
        
    if __name__ == '__main__':
        p = Process(target=task)
        p.daemon = True   # 把这个子进程定义为守护进程
        p.start()
        time.sleep(2)
        print('主进程')
    
  • 相关阅读:
    HTML 拖放 和 地理定位
    HTML web存储
    HTML 语义元素 和 MathML元素
    Docker Swarm
    Docker Machine
    Docker Compose
    Docker 的网络模式
    数据共享与持久化
    镜像和容器的基本操作
    Docker 简介
  • 原文地址:https://www.cnblogs.com/yunluo/p/11568305.html
Copyright © 2011-2022 走看看