任务列表显示进程但 taskkill 无法杀死它,即使是管理员

Jon*_*Jon 38 process cmd.exe

我试图在我的电脑上杀死 chrome。我以管理员身份运行命令提示符并运行:

C:\WINDOWS\system32>tasklist /FI "IMAGENAME eq chrome.exe"
Run Code Online (Sandbox Code Playgroud)

这返回了一项:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
chrome.exe                    8336 Console                    2    420,324 K
Run Code Online (Sandbox Code Playgroud)

但是,我无法使用 /IM 杀死它:

C:\WINDOWS\system32>taskkill /IM "chrome.exe" /F
Run Code Online (Sandbox Code Playgroud)

因为它返回:

ERROR: The process "chrome.exe" with PID 8336 could not be terminated.
Reason: There is no running instance of the task.
Run Code Online (Sandbox Code Playgroud)

所以我试图用 /PID 杀死它:

C:\WINDOWS\system32>taskkill /PID 8336 /F
Run Code Online (Sandbox Code Playgroud)

它返回了类似的东西:

ERROR: The process with PID 8336 could not be terminated.
Reason: There is no running instance of the task.
Run Code Online (Sandbox Code Playgroud)

尝试通过任务管理器杀死它也不起作用。如何在不重新启动计算机的情况下杀死 chrome?

小智 28

我在 conhost.exe 的多个实例中遇到了类似的问题,我无法用 taskkill 终止,即使给出确切的 pid。我总是遇到同样的错误,说没有任务实例。

因此,我使用以下命令执行了 Pimp Juice IT 在上面的评论中建议的操作,该命令一次成功杀死了所有 conhost.exe。

wmic process where name="conhost.exe" call terminate
Run Code Online (Sandbox Code Playgroud)

  • 我在 vmware-vmx.exe 上遇到了同样的问题,这个方法也不起作用。返回值是 2。我也尝试过“删除”而不是“呼叫终止”,但它说“拒绝访问”。 (14认同)
  • 它对我不起作用。 (9认同)
  • windows 又这样做了。无用的命令即使没有成功也会返回成功。 (5认同)
  • 对我来说是“code.exe”。说成功了,但是进程还在。 (3认同)

小智 6

如果该进程是从 Visual Studio 启动的,则调试器可能会崩溃,但 VS 仍然以某种方式附加到该进程,使其无法被终止。在这种情况下,仅关闭 Visual Studio 也会关闭流氓进程。


Dav*_*eau 5

我已经缩小了导致此问题的一个原因。如果您关闭一个其可执行文件位于已“卡住”的外部(或可能任何)驱动器上的程序,则该进程将陷入这种半关闭状态,可能会等待在完全关闭之前读取或写入卡住的驱动器结尾。

我可以通过尝试在命令行更改驱动器来判断驱动器“卡住”,它将无限期地挂起并且永远不会切换到驱动器。(类似的事情应该发生在资源管理器窗口中。)

正如一条评论所指出的,当处于这种卡住状态时,wmic调用terminate解决方案会导致返回值2

断开有问题的驱动器与 USB 的连接似乎可以立即解决问题;卡住的进程消失,命令行设法完成驱动器切换。重新插入驱动器将使驱动器恢复正常工作状态。

我不确定这是否意味着驱动器有问题。