繁体   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