系统重启时不会启动设置为自动的服务

系统重启时不会启动设置为自动的服务

使用以下命令在 cmd 中创建一个服务

c:\>sc create "DellCare" start= auto displayname= "DellCareService" binpath= "C:\Users\Dev Parzival\Desktop\bat\DellCare\DellCare.bat"

[SC] CreateService SUCCESS

当我重新启动笔记本电脑时,服务戴尔关怀没有开始。

c:\>sc query DellCare

SERVICE_NAME: DellCare
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 1077  (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

戴尔维护工具

@echo on

cd /D E:\code\pro\DellCare\out

echo Present working directory - %cd%

java --module-path "C:\thirdparty\javafx-sdk-14.0.1\lib;E:\code\pro\DellCare\out;" --add-modules javafx.controls,javafx.graphics -cp ".;C:\thirdparty\javafx-sdk-14.0.1\lib\*" dellcare.mainclass.MainClass

当我尝试手动启动服务时出现错误

C:\WINDOWS\system32>sc start dellcare
[SC] StartService FAILED 1053:

The service did not respond to the start or control request in a timely fashion.

然后参观此链接并最终创造了服务管道超时里面HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\控制但是当我启动 dellcare 服务时仍然出现相同的错误,提示服务没有及时响应...

为什么 DellCare 服务没有启动以及如何修复它?

提前致谢。

答案1

你不能运行任何一个exebat作为一项服务,因为 系统服务 是专门为通过特殊协议与 Windows 交互而编写的,供命令使用sc

服务通常以控制台应用程序的形式编写,以控制台应用程序的入口点作为主要功能,由其 服务入口点 并继续 ServiceMain 函数

但是,您可以使用实现所需协议的程序来封装程序或批处理文件。

您可以使用:

答案2

据我所知,Windows 服务通常需要一些额外的配置而不是一个命令行。

如果您尝试打开Servicesservices.msc手动启动刚刚创建的服务,应该会出现以下消息:

Windows could not start the service on Local Computer.

Error 1053: The service did not respond to the start or control request in a timely fashion.

如果您只需要在每次 Windows 启动时运行某个脚本(对于当前用户),您可以复制该.bat文件并将其快捷方式粘贴到 中。另一种访问方法是在 Explorer 地址栏中"%AppData%\Microsoft\Windows\Start Menu\Programs\Startup"输入。shell:startup

当前用户下次登录时,脚本将自动运行。您可以通过 检查它是否已添加并启用Task Manager -> Startup

相关内容