Home

【VMware ESXi】使用 ESXi esxcli 命令关闭虚拟机电源

当虚拟机因为快照、存储任务或其他异常进入假死状态时,常规关机方式可能会失效,甚至会提示“其他任务已在进行中”。这种情况下,可以直接在 ESXi 主机上通过 esxcli 命令定位并终止对应虚拟机进程。

问题现象

虚拟机表现为:

  • 无法正常关机
  • 控制台无法进入
  • 网络不通
  • vCenter 中提示其他任务正在进行

处理方法

可以在本地控制台或 SSH 远程登录 ESXi 主机后,使用 esxcli 命令关闭虚拟机电源。

先获取虚拟机进程信息

运行以下命令获取正在运行的虚拟机列表。输出中会包含 World ID、UUID、显示名称和 .vmx 路径等信息:

esxcli vm process list

再执行关闭命令

找到目标虚拟机对应的 World ID 后,执行:

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

三种方式的含义如下:

  • soft:软关机,优先尝试正常关闭。
  • hard:硬关机,类似强制断电。
  • force:强制终止,建议只在前两种方式都无效时使用。

例如,要关闭 World ID2775792 的虚拟机,可以执行:

esxcli vm process kill -t=soft -w=2775792

使用建议

  • 建议按 soft -> hard -> force 的顺序逐级尝试。
  • 如果虚拟机上还有重要 I/O 任务,强制关闭前要评估数据一致性风险。
  • 处理完成后,最好顺手检查一下导致假死的根因,例如快照链、存储性能或锁文件异常。
VMware