我按照这个答案中的指示编写了一个Python脚本,用作服务。我将循环代码放在def main()
中。
我使用python my_script.py install
安装了该服务。我能够通过Windows XP中的services.msc
启动和停止该服务。
这是一个日志记录程序,旨在在Windows运行时写入日志。它不应关心任何人是否登录或注销。我的问题是,当我注销后,服务会停止。如何使其在注销后仍然可以继续运行?
我按照这个答案中的指示编写了一个Python脚本,用作服务。我将循环代码放在def main()
中。
我使用python my_script.py install
安装了该服务。我能够通过Windows XP中的services.msc
启动和停止该服务。
这是一个日志记录程序,旨在在Windows运行时写入日志。它不应关心任何人是否登录或注销。我的问题是,当我注销后,服务会停止。如何使其在注销后仍然可以继续运行?
当用户关闭控制台、注销或关闭系统时,系统会生成CTRL_CLOSE_EVENT、CTRL_LOGOFF_EVENT和CTRL_SHUTDOWN_EVENT信号,以便进程在终止之前有机会进行清理。为确保将您的服务与所有这些内容分离,您需要使用控制处理程序将其设置为此方式:
win32api.SetConsoleCtrlHandler(lambda x: True, True)
__init__
类中,是吗? - Kit