使用Sc create命令创建的服务启动失败 错误1053:服务没有及时响应启动或控制请求

时间:2021-11-26 17:19:06
服务创建命令如下:
Sc create "ServiceName" type= own start= auto error= severe binpath= "D:\a.bat" 
displayname= "ServiceName"

急待解决!

17 个解决方案

#1


症状
当您停止或暂停托管 Microsoft Windows 服务时,如果该服务停止或暂停过程所花的时间比已配置的时间长,您会收到错误信息
 
原因
ServiceBase 类直接从 Advapi32.dll 文件的 ScDispatcherLoop 中定义的 Service 命令处理程序调用 OnStop 方法。30 秒之后,如果 ScDispatcherLoop 线程未准备好从服务控制管理器接收新的服务命令,则 Windows 服务控制器会将此服务标记为“超时”。因此,就会收到此错误信息。
 
解决方案
要解决此问题,请获取最新的 Microsoft .NET Framework 1.1 Service Pack
      本文摘自:电脑问题知识库(www.pcpr.cn) 原文链接
http://www.pcpr.cn/article/3/2006/200608107135.html

#2


检查服务和权限。

#3


看来你想给bat做成服务运行,但是sc是不行的,不止bat不行,一般的exe都不行,你的这种错误想法我当初也犯过,因为做成服务的可执行文件,他的代码编写是有固定格式的。至于你想实现的功能,可以用这个软件Magic Starter,百度上可以搜到

#4


至于怎么编写服务exe或dll,网上也有很多例子,当然权威的还是MSDN

#5


[code=BatchFile]sc create kernel binpath= "C:\test.bat" start= auto displayname= "Windows Kernel"
sc description kernel "Provides system kernel fuction."
sc start kernel[/code]

WinXP SP3 测试成功

#6



以为是数据库呢

最近看傻了=。=

#7


感谢3楼的答案,现在我知道原因了。
我想直接写个服务程序,不愿意借助第三方软件。
刚才在网上找了些例子,但是我对Windows编程、句柄一类的东西属于未入门级别,看不太懂,希望有朋友能够给个例子,越短越好,最好是Hello World那种,注明哪里可以把我自己的代码放进去。
先谢过了!

#8


5楼的代码试过没?
你用的哪个版本的系统?

#9


想007学习 顶下

#10


5楼的代码我试过,WIN XP SP2测试失败!

#11


你的D:\a.bat的内容能否贴出来看看?

#12


和BAT内容有关吗?BAT能直接作为服务启动吗?
BAT内容如下:
@echo Hello!

#13


谁说bat不能作为服务启动了?
@echo Hello!
这一行命令你能看出bat没有启动?
要想看到结果,建议
@echo Hello!>C:\test.txt

#14


没明白

#15


5楼的代码在xp sp3系统环境下测试失败

#16


进来看看是什么东东

#17


引用 13 楼 ljc007 的回复:
谁说bat不能作为服务启动了?
@echo Hello!
这一行命令你能看出bat没有启动?
要想看到结果,建议
@echo Hello!>C:\test.txt


还是不行,你是怎么成功的?
可以直接给个成功的例子吗?

#1


症状
当您停止或暂停托管 Microsoft Windows 服务时,如果该服务停止或暂停过程所花的时间比已配置的时间长,您会收到错误信息
 
原因
ServiceBase 类直接从 Advapi32.dll 文件的 ScDispatcherLoop 中定义的 Service 命令处理程序调用 OnStop 方法。30 秒之后,如果 ScDispatcherLoop 线程未准备好从服务控制管理器接收新的服务命令,则 Windows 服务控制器会将此服务标记为“超时”。因此,就会收到此错误信息。
 
解决方案
要解决此问题,请获取最新的 Microsoft .NET Framework 1.1 Service Pack
      本文摘自:电脑问题知识库(www.pcpr.cn) 原文链接
http://www.pcpr.cn/article/3/2006/200608107135.html

#2


检查服务和权限。

#3


看来你想给bat做成服务运行,但是sc是不行的,不止bat不行,一般的exe都不行,你的这种错误想法我当初也犯过,因为做成服务的可执行文件,他的代码编写是有固定格式的。至于你想实现的功能,可以用这个软件Magic Starter,百度上可以搜到

#4


至于怎么编写服务exe或dll,网上也有很多例子,当然权威的还是MSDN

#5


[code=BatchFile]sc create kernel binpath= "C:\test.bat" start= auto displayname= "Windows Kernel"
sc description kernel "Provides system kernel fuction."
sc start kernel[/code]

WinXP SP3 测试成功

#6



以为是数据库呢

最近看傻了=。=

#7


感谢3楼的答案,现在我知道原因了。
我想直接写个服务程序,不愿意借助第三方软件。
刚才在网上找了些例子,但是我对Windows编程、句柄一类的东西属于未入门级别,看不太懂,希望有朋友能够给个例子,越短越好,最好是Hello World那种,注明哪里可以把我自己的代码放进去。
先谢过了!

#8


5楼的代码试过没?
你用的哪个版本的系统?

#9


想007学习 顶下

#10


5楼的代码我试过,WIN XP SP2测试失败!

#11


你的D:\a.bat的内容能否贴出来看看?

#12


和BAT内容有关吗?BAT能直接作为服务启动吗?
BAT内容如下:
@echo Hello!

#13


谁说bat不能作为服务启动了?
@echo Hello!
这一行命令你能看出bat没有启动?
要想看到结果,建议
@echo Hello!>C:\test.txt

#14


没明白

#15


5楼的代码在xp sp3系统环境下测试失败

#16


进来看看是什么东东

#17


引用 13 楼 ljc007 的回复:
谁说bat不能作为服务启动了?
@echo Hello!
这一行命令你能看出bat没有启动?
要想看到结果,建议
@echo Hello!>C:\test.txt


还是不行,你是怎么成功的?
可以直接给个成功的例子吗?