歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Python 守護進程

守護進程是可以一直運行而不阻塞主程序退出。要標志一個守護進程,可以將Process實例的daemon屬性設置為True。代碼如下:

import os
import time
import random
import sys
from multiprocessing import Process,current_process


def  daemon():
        p = current_process()
        print "starting ID%d prccess%s\n" % (p.pid,p.name)
        sys.stdout.flush()


        time.sleep(3)
        print  "Exiting:%s\n" % p.name
        sys.stdout.flush()
def main():
        p = Process(name="Daemon",target=daemon)
        p.daemon=True
        p.start()
if __name__=="__main__":
        main()
        time.sleep(1)

由於主進程會在1秒後退出,守護進程的 print  "Exiting:%s\n" % p.name這句是看不到的。
若想看到守護進程的 print  "Exiting:%s\n" % p.name語句輸出,可以利用join,主進程等待守護進程的退出後再退出,即在,p.start()後添加p.join()然後把time。sleep(1)刪除

Copyright © Linux教程網 All Rights Reserved