python 如何設(shè)置守護(hù)進(jìn)程
上一篇文章 介紹 join 在多進(jìn)程中的作用,本文繼續(xù)學(xué)習(xí)設(shè)置守護(hù)進(jìn)程的對程序的影響。(Python大牛可以繞行)
我們通過兩個(gè)例子說明
# encoding: utf-8 """ author: yangyi@youzan.com time: 2019/7/30 11:20 AM func: """ from multiprocessing import Process import os import time def now(): return str(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())) def func_1(name): print(now() + ' Run child process %s ,pid is %s...' % (name, os.getpid())) time.sleep(2) print(now() + ' Stop child process %s ,pid is %s...' % (name, os.getpid())) def func_2(name): print(now() + ' Run child process %s , pid is %s...' % (name, os.getpid())) time.sleep(4) print(now() + ' hello world!') print(now() + ' Stop child process %s , pid is %s...' % (name, os.getpid())) if __name__ == '__main__': print ('Parent process %s.' % os.getpid()) p1 = Process(target=func_1, args=('func_1',)) p2 = Process(target=func_2, args=('func_2',)) print now() + ' Process start.' p1.daemon = True #設(shè)置子進(jìn)程p1為守護(hù)線程 p1.start() p2.start() print now() + ' Process end .'
結(jié)果顯示
啟動(dòng)了子進(jìn)程 Run child process func_1 但是沒有 func_1 的結(jié)束提示。隨著主進(jìn)程的結(jié)束而結(jié)束。
if __name__ == '__main__': print ('Parent process %s.' % os.getpid()) p1 = Process(target=func_1, args=('func_1',)) p2 = Process(target=func_2, args=('func_2',)) print now() + ' Process start.' p2.daemon = True #設(shè)置子進(jìn)程p2為守護(hù)線程 p1.start() p2.start() print now() + ' Process end .'
結(jié)果顯示
啟動(dòng)了子進(jìn)程func_1,而func_2 沒有啟動(dòng)便隨著主進(jìn)程的結(jié)束而結(jié)束。
總結(jié)
對于進(jìn)程或者子線程設(shè)置join() 意味著在子進(jìn)程或者子線程結(jié)束運(yùn)行之前,當(dāng)前程序必須等待。當(dāng)我們在程序中運(yùn)行一個(gè)主進(jìn)程(主線程),然后有創(chuàng)建多個(gè)子線程。主線程和子線程各自執(zhí)行。當(dāng)主線程想要退出程序時(shí)會(huì)檢查子線程是否結(jié)束。如果我們設(shè)置deamon屬性為True ,不管子線程是否結(jié)束,都會(huì)和主線程一起結(jié)束。
-The End-
以上就是python 如何設(shè)置守護(hù)進(jìn)程的詳細(xì)內(nèi)容,更多關(guān)于python 守護(hù)進(jìn)程的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python全棧之進(jìn)程和守護(hù)進(jìn)程
- Python 創(chuàng)建守護(hù)進(jìn)程的示例
- Python守護(hù)進(jìn)程實(shí)現(xiàn)過程詳解
- python實(shí)現(xiàn)守護(hù)進(jìn)程、守護(hù)線程、守護(hù)非守護(hù)并行
- python使用fork實(shí)現(xiàn)守護(hù)進(jìn)程的方法
- Python如何實(shí)現(xiàn)守護(hù)進(jìn)程的方法示例
- python daemon守護(hù)進(jìn)程實(shí)現(xiàn)
- Python守護(hù)進(jìn)程用法實(shí)例分析
- Python實(shí)現(xiàn)日志備份守護(hù)進(jìn)程的示例
相關(guān)文章
Python中文分詞工具之結(jié)巴分詞用法實(shí)例總結(jié)【經(jīng)典案例】
這篇文章主要介紹了Python中文分詞工具之結(jié)巴分詞用法,結(jié)合實(shí)例形式總結(jié)分析了Python針對中文文件的讀取與分詞操作過程中遇到的問題與解決方法,需要的朋友可以參考下2017-04-04解決pyinstaller打包exe可執(zhí)行文件后運(yùn)行找不到pandas或者XXX模塊
這篇文章主要介紹了解決pyinstaller打包exe可執(zhí)行文件后運(yùn)行找不到pandas或者XXX模塊問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Python計(jì)算時(shí)間間隔(精確到微妙)的代碼實(shí)例
今天小編就為大家分享一篇關(guān)于Python計(jì)算時(shí)間間隔(精確到微妙)的代碼實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02使用numpngw和matplotlib生成png動(dòng)畫的示例代碼
這篇文章主要介紹了使用numpngw和matplotlib生成png動(dòng)畫的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01關(guān)于使用Python的time庫制作進(jìn)度條程序
這篇文章主要介紹了關(guān)于使用Python的time庫制作進(jìn)度條程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04