守護程序(Python)

2022-04-10 21:27:58 字數 1549 閱讀 4427

#

__author__:kelvin

#date:2020/5/10 11:37

import

time

from multiprocessing import

process

defson1():

while

true:

print('

--> in son1')

time.sleep(1)

def son2(): #

執行10s

for i in range(10):

print('

in son2')

time.sleep(1)

if__name__ == '

__main__

': #

3s p1 = process(target=son1)

p1.daemon = true #

表示設定p1是乙個守護程序

p1.start()

p2 = process(target=son2,)

p2.start()

time.sleep(3)

print('

in main')

#主程序會等待所有的子程序結束,是為了**子程序的資源

#守護程序會等待主程序的**執行結束之後再結束,而不是等待整個主程序結束.

#主程序的**什麼時候結束,守護程序就什麼時候結束,和其他子程序的執行進度無關

#要求守護程序p1必須在p2程序執行結束之後才結束

#import time

#from multiprocessing import process##

def son1():

#while true:

#print('--> in son1')

#time.sleep(1)##

def son2(): # 執行10s

#for i in range(10):

#print('in son2')

#time.sleep(1)##

if __name__ == '__main__': # 3s

#p1 = process(target=son1)

#p1.daemon = true # 表示設定p1是乙個守護程序

#p1.start()

#p2 = process(target=son2,)

#p2.start()

#time.sleep(3)

#print('in main')

#p2.join() # 等待p2結束之後才結束

#等待p2結束 --> 主程序的**才結束 --> 守護程序結束

要知道的兩個問題:

1:為什麼守護執行緒不能在主程序結束後再結束?

答:因為主程序要對守護程序結束後的資源進行**,所有守護程序必須在主程序結束之前就結束。因此守護程序選擇在主程序的**執行結束這個節點結束自己。

2:守護程序可以守護其他子程序麼?

答:不可以,守護程序只能守護主程序。

python守護程序

去 python daemon 1.5.2 3.el5.noarch.rpm 測試 test.py usr bin python import daemon,time print 1 p daemon.daemoncontext p.open for i in range 0,100 print t...

Python守護程序

關於python守護程序,網上查了一些資料,做下彙總 1.python例項 之五python守護程序和指令碼單例執行 2.python 模擬linux守護程序 3.python中fork 函式生成子程序分析 4.討論一下os.umask 和os.setsid 5.用python編寫linux守護程序...

python程序守護

參考 vamei python守護程序daemon實現 如何建立乙個程序 實際上,當計算機開機的時候,核心 kernel 只建立了乙個init程序。linux核心並不提供直接建立新程序的系統呼叫。剩下的所有程序都是init程序通過fork機制建立的。新的程序要通過老的程序複製自身得到,這就是fork...