python_并发编程——守护进程

1.守护进程

  守护进程会随着主进程的代码执行结束而结束。

import time
from multiprocessing import Process

class MyProcess(Process):
    def run(self):
        while True:
            time.sleep(1)
            print('我还活着~')

if __name__ == '__main__':
    q = MyProcess()
    q.daemon = True #将子进程设置为守护进程,在start之前
    q.start()
    for i in range(3):
        time.sleep(3)
        print('------主进程------')

结果:

 2.结束进程和检查进程是否结束

  结束进程p.terminate():结束一个进程不是在执行方法之后立即生效,需要一个操作系统响应的过程。

  检验一个进程是否活着的状态p.is_alive():返回True或者False

  进程的名字和进程号:p.name(),p.pid()

import time
from multiprocessing import Process

class MyProcess(Process):
    def run(self):
        while True:
            time.sleep(1)
            print('我还活着~')

if __name__ == '__main__':
    q = MyProcess()
    q.daemon = True #将子进程设置为守护进程
    q.start()
    q.terminate()   #结束进程,请求操作系统结束进程
    # 检验一个进程是否还活着
    print(q.is_alive())     #刚刚发出请求,进程还没结束,
    time.sleep(2)
    print(q.is_alive())     #两秒之后进程已经被结束
    print(q.name)   #进程的名字
    print(q.pid)    #进程号

结果:

猜你喜欢

转载自www.cnblogs.com/wangdianchao/p/12043977.html