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('主进程')
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步