簡體   English   中英

Python看門狗應用程序

[英]Python watchdog application

嗯...我保證我已經在網上徹底搜索了此內容,卻找不到令人滿意的答案,所以>。<

我正在嘗試為我的python應用程序創建一個“控制器”,我的意思是應該執行它,然后生成服務器,等待拾取退出信號,並在必要時重新啟動腳本。

這段代碼很亂,但是到目前為止,這就是我所擁有的...它總是以無法識別的exitSignal 1返回,甚至不會生成服務器進程! 有人可以給我點燈嗎?

#Server controller version 0.1
import os
import time
from datetime import datetime

Log = file("C:/Users/Admin/Desktop/Python/Server/WIP.log", 'w')

def runServer():
    exitSignal = os.spawnv(os.P_WAIT, 'C:/Python2.7/python.exe', ['python.exe',         'C:/Users/Admin/Desktop/Python/Server/WIP.py'])
    print str(datetime.today())+" - Server started"
    Log.write("\n"+str(datetime.today())+" - Server started")

    if exitSignal == "0":
        print str(datetime.today())+" - Server exited succesfully."
        Log.write("\n"+str(datetime.today())+" - Server exited succesfully.")

    elif exitSignal == "10":
        print str(datetime.today())+" - Rebooting server immediately."
        Log.write("\n"+str(datetime.today())+" - Rebooting server immediately.")
        runServer()

    elif exitSignal == "11":
        print str(datetime.today())+" - Rebooting server in 5 minutes."
        Log.write("\n"+str(datetime.today())+" - Rebooting server in 5 minutes.")
        time.sleep(300)
        runServer()
        print str(datetime.today())+" - Server rebooted."
        Log.write("\n"+str(datetime.today())+" - Server rebooted.")

    else:
        print str(datetime.today())+" - Unrecognized exitSignal code: %s" % str(exitSignal)
        Log.write("\n"+str(datetime.today())+" - Unrecognized exitSignal code: %s" % str(exitSignal))

if __name__ == "__main__":
    print str(datetime.today())+" - Controller started."
    Log.write("\n"+str(datetime.today())+" - Controller started")
    runServer()

抱歉,代碼混亂! (= ^,^ =)

正如這里所描述 ,os.spawnv是一種過時的方法,你應該使用的模塊。

除此之外,如果您始終返回1並且沒有產生任何進程,則可能是由於服務器代碼路徑錯誤或服務器部件代碼錯誤造成的。 如果您手動啟動服務器會怎樣?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM