我一直在尝试将我的 python 脚本作为服务运行,并遵循了之前几个论坛帖子中包含的建议。但是,到目前为止,这些对我没有帮助。这是我到目前为止所尝试的:
使用了一个 SMWinservice 类,它允许我将我的 Python 脚本安装为服务。但是,此解决方案不会启动。如果我尝试启动它,我会收到一条错误消息。
我曾尝试将 NSSM 与:nssm install myService pathToInterpreter PathToScript 一起使用。注意,所有文件等都可以在 PathToScript 的本地目录中找到。对于它的价值,我还尝试使用 NSSM 的 GUI 版本。当我重新启动计算机时,它在任务管理器中显示为“已暂停”。我停止了它,然后尝试再次运行它,但我收到了一个错误。我已经用 python.exe 和 pythonw.exe 尝试过 NSSM。
我怀疑可能的错误来源是我的程序使用文本文件作为配置文件。此配置文件已被编码为位于我的本地工作目录中。但是,我认为这不会是 NSSM 的问题。我知道如果找不到配置文件,我的程序将使用 exit 命令完全退出。
我正在考虑创建一个批处理文件并使用脚本启动批处理文件并像那样运行它,但我更喜欢服务,因为它可以监视进程,可以重新启动它,或者如果有问题,Windows 可以通过电子邮件通知我用我的服务。
为了完整起见,我还应该提到该程序在服务之外运行没有问题。由于程序按预期运行,我决定不发布代码,除非有人出于任何原因想查看它。