python實現的守護進程(Daemon)的代碼

將開發過程經常用的一些代碼段記錄起來,下邊代碼段是關於python實現的守護進程(Daemon)的代碼,希望對小夥伴有一些用。

def createDaemon():
    ”’Funzione che crea un demone per eseguire un determinato programma…”’

    import os

    # create - fork 1
    try:
        if os.fork() > 0: os._exit(0) # exit father…
    except OSError, error:
        print ‘fork #1 failed: %d (%s)’ % (error.errno, error.strerror)
        os._exit(1)

    # it separates the son from the father
    os.chdir(’/')
    os.setsid()
    os.umask(0)

    # create - fork 2
    try:
        pid = os.fork()
        if pid > 0:
            print ‘Daemon PID %d’ % pid
            os._exit(0)
    except OSError, error:
        print ‘fork #2 failed: %d (%s)’ % (error.errno, error.strerror)
        os._exit(1)

    funzioneDemo() # function demo

def funzioneDemo():

    import time

    fd = open('/tmp/demone.log', 'w')
    while True:
        fd.write(time.ctime()+'n')
        fd.flush()
        time.sleep(2)
    fd.close()

if __name__ == '__main__':

    createDaemon()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章