python 守護程序

2022-01-30 03:19:21 字數 1815 閱讀 8070

主程式也是乙個程序,只是我們看不到,需要借助函式列印。包括子程序也可以列印。

threading.current_thread() 檢視當前執行緒

import threading

import time

def run(n):

print("task ",n)

time.sleep(2)

print('task done',n,threading.current_thread())

start_time = time.time()

t_objs =

for i in range(5):

t = threading.thread(target=run,args=("t-%s" %i,))

t.start()

for t in t_objs:

t.join()

print('--------------all threads has finished------------',threading.current_thread())

print('cost:',time.time() - start_time )

執行結果:

task  t-0

task t-1

task t-2

task t-3

task t-4

task done t-4 task done t-3 task done t-0 task done t-2 task done t-1 --------------all threads has finished------------ <_mainthread(mainthread, started 5628)>

cost: 2.010205030441284

threading.active_count() 活躍的執行緒個數守護執行緒也是子執行緒,主要是服務於主線程,當主線程退出以後,守護執行緒也會隨之結束。程式會等待非守護執行緒執行結束以後在退出。

import threading

import time

def run(n):

print("task ",n)

time.sleep(2)

print('task done',n,threading.current_thread())

start_time = time.time()

t_objs =

for i in range(5):

t = threading.thread(target=run,args=("t-%s" %i,))

t.setdaemon(true)# 把當前執行緒設定成守護執行緒

t.start()

print('--------------all threads has finished------------',threading.current_thread(),threading.active_count())

print('cost:',time.time() - start_time )

執行結果

task  t-0

task t-1

task t-2

task t-3

task t-4

--------------all threads has finished------------ <_mainthread(mainthread, started 8256)> 6

cost: 0.0010001659393310547

顯示的是有6個子執行緒,但是程式並沒有等待就退出了,原因是沒有非守護程序。

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...