如何通过命令提示符杀死 Genymotion VM?

how to kill a Genymotion VM via command prompt?

命令

player --vm-name VM_NAME

用于启动 Genymotion VM 和

杀死 Genymotion VM 的命令是什么?

您可以在 *nix 类系统上使用 kill 命令,在 Win 系统中使用 taskkill 命令。

有关在 Jenkins 设置中使用 Genymotion 的精彩 post 可在 http://krazyrobot.com/2014/05/calabash-genymotion-and-jenkins/ 获得。命令的摘录如下:

PID=`ps | grep "Genymotion\.app/Contents/MacOS/player.*7b4f5185-b7d6-4151-9b09-9cefba4c0967.*" | awk '{print }'`
kill $PID

简而言之,这个 oneliner 应该适用于 Mac OSX:

上所有版本的 Genymotion
ps x | grep "Genymotion\.app/Contents/MacOS/.*player" | awk '{print }' | xargs kill

先前版本的 Genymotion 播放器路径是:

Genymotion.app/Contents/MacOS/player

v2.6.0 的 Genymotion 播放器路径是:

Genymotion.app/Contents/MacOS/Player.app/Contents/MacOS/player

但是如果你这样强行关机,有时候之后你尝试恢复快照,可能会失败VBOX_E_INVALID_VM_STATE

VBoxManage: error: Cannot delete the current state of the running machine (machine state: Running)
VBoxManage: error: Details: code VBOX_E_INVALID_VM_STATE (0x80bb0002), component SessionMachine, interface IMachine, callee nsISupports

解决方案 - 在终止 Genymotion 播放器之前正常关闭 VM:

vboxmanage controlvm $YOUR_VM_NAME poweroff || true

如果您只是 运行 与 -x 相同的命令,它将关闭框

player --vm-name VM_NAME -x

摘自我设法在日志中找到的帮助

[debug] Usage: player
[debug]          --vm-name|-n <device name>
[debug]          [ --no-popup|-s ]
[debug]          [ --poweroff|-x  || 
[debug]            --startadb|-a  || 
[debug]            --stopadb|-z ]

如果你想直接DISCARD VirtualBox Machine 的状态,你可以在终端输入:

vboxmanage discardstate 'My Genymotion name machine'