如何杀死不会死的VMware虚拟机?

时间:2008-09-17 10:15:51

标签: vmware

我在服务器上运行的虚拟机无法停止或重新启动 - 我无法再登录它,我无法使用VMware服务器控制台停止它。还有其他VM正在运行,因此重新启动主机是不可能的。有没有其他方法迫使一台机器停止?

8 个答案:

答案 0 :(得分:16)

如果您使用的是Linux,则可以使用

获取来宾流程
ps axuw | grep vmware-vmx

正如@Dubas指出的那样,您应该能够通过VMD的路径名选择错误的进程

答案 1 :(得分:15)

如果您使用的是Windows,则虚拟机应具有在任务管理器中可见的自己的进程。使用sysinternals Process Explorer找到正确的,然后从那里杀死它。

答案 2 :(得分:5)

在某些情况下,您可能无法暂停,或者就此而言,无法在VM上执行任何“电源”操作。您可能已经启动并运行了多个VM。使用此过程来识别要杀死的正确PID。

在Windows 7上 - 打开任务管理器 - 查找名为“vmware-vmx.exe”的进程,记下PID。

切换到Performance选项卡并启动“Resource Monitor”。展开“磁盘活动”面板。对“文件”列进行排序。查找要杀死的VM的相应vmdk文件。 “Image”列将列出“vmware-vmx”进程。注意PID。

切换回“进程”选项卡并终止PID。

答案 3 :(得分:4)

这是我基于

所做的

a)@Espo的评论和
b)我只有Windows任务管理器才能玩....

我登录主机,打开任务管理器并使用视图菜单将PID列添加到进程选项卡。

我写下了(是的,用纸和笔)对于盒子上运行的vmware-wmx.exe进程的每个实例的PID。

使用VMWare控制台,我暂停了错误的虚拟机。

当我恢复它时,我可以识别出与我的机器相对应的vmware-vmx进程,并且可以杀死它。

到目前为止似乎没有任何不良影响。

答案 4 :(得分:4)

类似,但使用WMIC命令行获取进程ID和路径:

WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid

这将创建一个包含每个进程及其参数的文本文件。您可以在文件中搜索VM文件路径,并获取正确的进程ID以结束任务。

感谢http://windowsxp.mvps.org/listproc.htm提供正确的命令行参数。

答案 5 :(得分:3)

对于ESXi 5,您首先要通过vSphere控制台启用ssh,然后登录并使用以下命令查找进程ID

ps -c | grep -i "machine name"

然后,您可以使用kill

找到进程ID并结束该进程

答案 6 :(得分:3)

请参阅VMware的网页

中的以下内容

关闭ESXi主机上的虚拟机电源(1014165) 症状

您遇到了这些问题:

You cannot power off an ESXi hosted virtual machine.
A virtual machine is not responsive and cannot be stopped or killed.

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1014165

"使用ESXi 5.x esxcli命令关闭虚拟机

可以在本地或远程使用esxcli命令关闭ESXi 5.x上运行的虚拟机。有关详细信息,请参见“vSphere命令行界面参考”中的esxcli vm命令部分。

Open a console session where the esxcli tool is available, either in the ESXi Shell, the vSphere Management Assistant (vMA), or the location where the vSphere Command-Line Interface (vCLI) is installed.

Get a list of running virtual machines, identified by World ID, UUID, Display Name, and path to the .vmx configuration file, using this command:

esxcli vm process list

Power off one of the virtual machines from the list using this command:

esxcli vm process kill --type=[soft,hard,force] --world-id=WorldNumber

Notes:
Three power-off methods are available. Soft is the most graceful, hard performs an immediate shutdown, and force should be used as a last resort.
Alternate power off command syntax is: esxcli vm process kill -t [soft,hard,force] -w WorldNumber

Repeat Step 2 and validate that the virtual machine is no longer running.

对于ESXi 4.1:

Get a list of running virtual machines, identified by World ID, UUID, Display Name, and path to the .vmx configuration file, using this command:

esxcli vms vm list

Power off one of the virtual machines from the list using this command:

esxcli vms vm kill --type=[soft,hard,force] --world-id=WorldNumber"

答案 7 :(得分:2)

对于VmWare融合,请在单击“重新启动虚拟机”时按住 alt

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006215