我尝试使用sc delete <service name>
删除 Windows 服务,并遇到以下错误:
[SC] DeleteService 失败 1072:
指定的服务已标记为删除。
我已经做了什么:
显然已停止服务。sc queryex "<service name>"
给出以下结果:
SERVICE_NAME: Stub service
TYPE : 10 WIN32_OWN_PROCESS
STATE : 1 STOPPED
WIN32_EXIT_CODE : 1067 (0x42b)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 0
FLAGS :
Ensured that Microsoft Management Console is closed(taskkill /F /IM mmc.exe
),
Ensured that Event Viewer is closed,
Removed the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>from the registry.
由于此删除,services.msc
仍显示服务(具有名称,但没有状态或启动类型),但描述为“& lt;读取描述失败。错误代码:2 & gt;”。尝试查看属性时,“系统找不到指定的文件。”显示五次。
问题依然存在。
下一步是什么?
可能有几个原因导致服务陷入“标记为删除”。
SysInternals' Process Explorer is opened。关闭它将导致自动删除服务。
Task Manager is opened.Microsoft Management Console (MMC) is opened。要确保所有实例都已关闭,请运行taskkill /F /IM mmc.exe
。
Services console is opened。这与上一点相同,因为服务控制台由 MMC 托管。
Event Viewer is opened。同样,这与第三点相同。
The key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{service name} exists.Someone else is logged into the server并打开了前面提到的应用程序之一。
用于调试服务的 Visual Studio实例已打开。
这也可能是由于将服务控制台保持打开状态而导致的。在关闭服务之前,Windows 不会实际删除该服务。
我有同样的问题,最后我决定杀死服务过程。
为它尝试下面的步骤:
获取服务的进程 ID
sc queryex <service name>
杀死过程
taskkill /F /PID <Service PID>
在我的情况下,它在关闭Services
后工作,检查Services.msc
是否打开,如果是关闭它,并检查在Task Manager
中找到的任何服务进程。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(21条)