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
os.getpid()
os.getppid()
子进程对象.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('主进程')
原文:https://www.cnblogs.com/yunluo/p/11568305.html