![Windows Server 2012R2:为什么进程在“成功”的 taskkill 后还能存活下来?](https://linux22.com/image/724666/Windows%20Server%202012R2%EF%BC%9A%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%9B%E7%A8%8B%E5%9C%A8%E2%80%9C%E6%88%90%E5%8A%9F%E2%80%9D%E7%9A%84%20taskkill%20%E5%90%8E%E8%BF%98%E8%83%BD%E5%AD%98%E6%B4%BB%E4%B8%8B%E6%9D%A5%EF%BC%9F.png)
我遇到了 IIS 无法正常关闭的问题。换句话说,当我们执行标准的 NET STOP / NET START 序列时,我们最终会得到一个正在关闭的服务...永远。这导致我的应用程序部署在尝试重新启动 IIS 时失败。
我本想改用 taskkill。但下面的结果让我很困惑。taskkill 报告成功终止,但进程仍然存在。
我如何让 taskkill 完成需要做的事情?
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Users\Administrator>tasklist /svc|find "W3SVC"
svchost.exe 1456 W3SVC, WAS
C:\Users\Administrator>taskkill /PID 1456 /F
SUCCESS: The process with PID 1456 has been terminated.
C:\Users\Administrator>tasklist /svc|find "W3SVC"
svchost.exe 1456 W3SVC, WAS
C:\Users\Administrator>taskkill /PID 1456 /F
ERROR: The process with PID 1456 could not be terminated.
Reason: There is no running instance of the task.
C:\Users\Administrator>tasklist /svc|find "W3SVC"
svchost.exe 1456 W3SVC, WAS
C:\Users\Administrator>