我正在运行Windows服务,它在启动期间启动一个简单的bat文件,但该服务无法启动。如果我尝试从服务GUI手动运行它,我会收到以下错误消息。
错误1053:服务未及时响应启动或控制请求
这似乎是服务启动期间的常见错误,但我在其他答案中没有发现类似的问题。我使用以下命令从命令行创建了服务
C:\Users\Administrator>sc create service_name binpath= c:\service.bat start= auto
[SC] CreateService SUCCESS
然后我用
运行它C:\Users\Administrator>sc start service_name
但是,我收到了错误消息:
[SC] StartService FAILED 5:
访问被拒绝。
如果我以管理员身份从命令提示符运行它,我不会收到拒绝访问的消息,但是我收到了1053错误。我想运行一个bat文件作为Windows服务不应该那么困难。有什么想法吗?
答案 0 :(得分:7)
您收到第一个错误,因为您的批处理文件无法与Windows服务子系统协商/交互。当Windows启动服务时,操作系统会等待几秒钟,以便服务报告已正确启动。如果此信号永远不会到达(与您的批处理文件一样,它对服务一无所知),Windows将报告错误#1053。
您需要一个“包装”应用程序来将批处理文件作为服务运行。 free "SRVANY" utility from Microsoft可能适合您,但您也应该调查功能更全面的商业替代品。