Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Windows服务在通过命令行而不是通过服务运行时工作_Python_Windows_Service_Windows Services - Fatal编程技术网

Python Windows服务在通过命令行而不是通过服务运行时工作

Python Windows服务在通过命令行而不是通过服务运行时工作,python,windows,service,windows-services,Python,Windows,Service,Windows Services,接下来,我从python脚本创建了一个服务,并使用了“py[script name]install”。该服务已成功安装,我可以在“服务”窗口中看到它。如果我使用“py[script name]start”通过命令行运行该服务,它将正常工作 但是,当我尝试从Windows服务窗口启动它时,它会根据我使用的帐户给出不同的错误。所有这些都是我在各种论坛上看到的建议: 1) 默认值(本地系统帐户) 当我尝试这一个,它给出了错误“Windows无法启动本地计算机上的服务。” 2) 管理员帐户,我从中运行c

接下来,我从python脚本创建了一个服务,并使用了“py[script name]install”。该服务已成功安装,我可以在“服务”窗口中看到它。如果我使用“py[script name]start”通过命令行运行该服务,它将正常工作

但是,当我尝试从Windows服务窗口启动它时,它会根据我使用的帐户给出不同的错误。所有这些都是我在各种论坛上看到的建议:

1) 默认值(本地系统帐户)

当我尝试这一个,它给出了错误“Windows无法启动本地计算机上的服务。”

2) 管理员帐户,我从中运行cmd

与上述错误相同

3) 当地服务

给出“错误5:访问被拒绝”。即使我以管理员身份登录

有人知道这是什么原因吗


我还尝试从python脚本创建一个.exe,并使用sc.exe将其作为服务添加。然而,当我这样做时,我从来没有通过“服务没有及时响应启动或控制请求”。在我将一些文件复制到python安装中的目录之前,从CMD运行它时也会发生此错误。

我从来没有尝试过将python脚本作为服务,因此我无法直接与之对话

我确实知道,“服务没有及时响应启动或控制请求。”错误几乎总是表明对服务的
OnStart()
回调(在您的情况下看起来像
SvcDoRun
)启动了一个永远不会返回的长时间运行的操作(例如while循环)。
OnStart()
回调将启动一个前台线程,该线程将保持服务运行,然后返回。根据我的记忆,如果
OnStart()
在大约30秒内没有返回,Windows将以无响应的方式终止服务,从而触发此特定错误消息


另一个要看的是事件查看器。可能是由于进程隔离,您的服务引发了一个您没有看到的异常。

谢谢您的帮助。问题确实出在main函数中(如果name=='main'),我在那里有一个while循环。我正在将其他人的作品改编成教程,他们的主函数中有一个,所以我把它留在了中,并在parse命令行之后添加了它。太棒了!很高兴我能帮忙。