查看正在运行的虚拟机
[root@localhost:~] esxcli vm process list
输出示例
World ID: 56148181
Process ID: 0
VMX Cartel ID: 56148181
Name: centos7-01
Running: true
📌 关键字段说明:
| 字段 | 说明 |
|---|---|
World ID | 虚拟机在 ESXi 中的全局唯一标识,用于后续操作 |
Name | 虚拟机名称 |
Running | 当前运行状态(true/false) |
关闭虚拟机
基本命令格式
esxcli vm process kill --type=<关机方式> --world-id=<World ID>
命令示例
[root@localhost:~] esxcli vm process kill --type=soft --world-id=56148181
关机方式详解
| 参数 | 说明 | 适用场景 |
|---|---|---|
soft | 正常关机,调用 VMware Tools 执行优雅关机 | ✅ 首选方式,保证数据完整性 |
hard | 断开电源,相当于直接拔掉电源线 | ⚠️ 虚拟机无响应时使用 |
force | 强制关机,立即终止进程 | ⚠️ 仅在其他方式无效时使用 |
🔄 三种方式对比
soft → 最安全,需安装 VMware Tools
hard → 较暴力,相当于物理断电
force → 最激进,直接杀进程
🛡️ 建议优先级:soft > hard > force
命令速查表
| 操作 | 命令 |
|---|---|
| 查看运行中的虚拟机 | esxcli vm process list |
| 查看所有虚拟机(含已关机) | vim-cmd vmsvc/getallvms |
| 正常关机 | esxcli vm process kill --type=soft --world-id=<ID> |
| 强制关机 | esxcli vm process kill --type=force --world-id=<ID> |
| 通过名称关闭虚拟机 | vim-cmd vmsvc/power.shutdown <vmid> |
扩展管理命令
通过 vim-cmd 管理虚拟机
# 获取所有虚拟机列表及 VMID
[root@localhost:~] vim-cmd vmsvc/getallvms
# 查看虚拟机状态
[root@localhost:~] vim-cmd vmsvc/power.getstate <VMID>
# 正常关机
[root@localhost:~] vim-cmd vmsvc/power.shutdown <VMID>
# 开机
[root@localhost:~] vim-cmd vmsvc/power.on <VMID>
# 重启
[root@localhost:~] vim-cmd vmsvc/power.reboot <VMID>
💡 提示:vim-cmd 方式更直观,无需查找 World ID,直接使用 VMID 即可操作。
📌 注意事项
| ⚠️ 项目 | 说明 |
|---|---|
soft 依赖 | 必须安装并运行 VMware Tools,否则无效 |
| 数据风险 | hard / force 可能导致数据丢失或文件系统损坏 |
| 权限要求 | 需具有 ESXi 主机的管理员权限 |
| 谨慎操作 | 生产环境建议先确认虚拟机业务已停止 |
🔗 相关命令
# 查看 ESXi 主机上所有进程
[root@localhost:~] ps | grep vm
# 查看虚拟机日志
[root@localhost:~] tail -f /var/log/vmware/hostd.log
# 列出所有注册的虚拟机
[root@localhost:~] vim-cmd vmsvc/getallvms
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END







暂无评论内容