python 如何設(shè)置守護(hù)進(jìn)程
上一篇文章 介紹 join 在多進(jìn)程中的作用,本文繼續(xù)學(xué)習(xí)設(shè)置守護(hù)進(jìn)程的對(duì)程序的影響。(Python大??梢岳@行)
我們通過(guò)兩個(gè)例子說(shuō)明
# 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 但是沒(méi)有 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 沒(méi)有啟動(dòng)便隨著主進(jìn)程的結(jié)束而結(jié)束。
總結(jié)
對(duì)于進(jìn)程或者子線程設(shè)置join() 意味著在子進(jìn)程或者子線程結(jié)束運(yùn)行之前,當(dāng)前程序必須等待。當(dāng)我們?cè)诔绦蛑羞\(yùn)行一個(gè)主進(jìn)程(主線程),然后有創(chuàng)建多個(gè)子線程。主線程和子線程各自執(zhí)行。當(dāng)主線程想要退出程序時(shí)會(huì)檢查子線程是否結(jié)束。如果我們?cè)O(shè)置deamon屬性為True ,不管子線程是否結(jié)束,都會(huì)和主線程一起結(jié)束。
-The End-
以上就是python 如何設(shè)置守護(hù)進(jìn)程的詳細(xì)內(nèi)容,更多關(guān)于python 守護(hù)進(jìn)程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python全棧之進(jìn)程和守護(hù)進(jìn)程
- Python 創(chuàng)建守護(hù)進(jìn)程的示例
- Python守護(hù)進(jìn)程實(shí)現(xiàn)過(guò)程詳解
- 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中np.linalg.norm()用法實(shí)例總結(jié)
在線性代數(shù)中一個(gè)向量通過(guò)矩陣轉(zhuǎn)換成另一個(gè)向量時(shí),原有向量的大小就是向量的范數(shù),這個(gè)變化過(guò)程的大小就是矩陣的范數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中np.linalg.norm()用法的相關(guān)資料,需要的朋友可以參考下2022-07-07
在Python中操作列表之List.append()方法的使用
這篇文章主要介紹了在Python中操作列表之List.append()方法的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05
python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5控件QTableWidget詳細(xì)使用方法與屬性
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5控件QTableWidget詳細(xì)使用方法與屬性,需要的朋友可以參考下2020-02-02
Python反爬實(shí)戰(zhàn)掌握酷狗音樂(lè)排行榜加密規(guī)則
最新的酷狗音樂(lè)反爬來(lái)襲,本文介紹如何利用Python掌握酷狗排行榜加密規(guī)則,本章內(nèi)容只限學(xué)習(xí),切勿用作其他用途?。。。?! 有需要的朋友可以借鑒參考下2021-10-10
pytorch 實(shí)現(xiàn)查看網(wǎng)絡(luò)中的參數(shù)
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)查看網(wǎng)絡(luò)中的參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
python 實(shí)現(xiàn)以相同規(guī)律打亂多組數(shù)據(jù)
這篇文章主要介紹了python 實(shí)現(xiàn)以相同規(guī)律打亂多組數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python編程新標(biāo)準(zhǔn)學(xué)會(huì)十項(xiàng)好習(xí)慣提升編碼質(zhì)量
這篇文章主要為大家介紹了Python編程新標(biāo)準(zhǔn)學(xué)會(huì)十項(xiàng)好習(xí)慣提升編碼質(zhì)量,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
widows下安裝pycurl并利用pycurl請(qǐng)求https地址的方法
今天小編就為大家分享一篇widows下安裝pycurl并利用pycurl請(qǐng)求https地址的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10

