我有一台装有 Windows Server 2008 R2 的服务器,并在 SYSTEM 帐户下运行一个服务进程(我们的自定义服务)。可能某个服务已挂起,我想停止它。我尝试通过管理控制台“服务”管理单元停止它,但没有帮助,服务进程仍在运行,尽管在管理控制台中它已被标记为未运行。有没有办法从命令行终止它?请注意,服务在 SYSTEM 帐户下运行。我在服务器上拥有完全的管理权限。
我已尝试pskill
从具有提升权限的控制台(就像pskill PID
),但它没有完成工作:它报告该进程已终止,但我仍然在任务管理器中看到它。
Taskkill 也无济于事:
C:\>taskkill /f /im myservice.exe
ERROR: The process "myservice.exe" with PID 1268 could not be terminated.
Reason: There is no running instance of the task.
但该进程在任务管理器中仍然可见。
更新:PowerhellStop-Process -Name myservice -Force
也不起作用。
有什么想法可以真正终止该进程(除了重新启动服务器)?
答案1
下载工具并解压下载的 zip 文件。其中会有一个名为 psexec 的 exe 文件。
使用以管理员身份运行选项打开 cmd.exe/命令提示符。在那里输入以下命令。“psexec.exe /s /i cmd.exe”
它将启动另一个控制台窗口,其中系统用户为当前用户。从那里,您可以使用系统用户访问权限运行您想要的任何命令。