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



命令

播放器 --VM 名称 VM_NAME

用于启动 Genymotion VM,并且

杀死Genymotion VM的命令是什么?

如果你只是用 -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 ]

简而言之,这个 oneliner 应该适用于 Mac OSX 上所有版本的 Genymotion:

ps x | grep "Genymotion.app/Contents/MacOS/.*player" | awk '{print $1}' | 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

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

一篇关于在 Jenkins 设置中使用 Genymotion 的好文章可以在 http://krazyrobot.com/2014/05/calabash-genymotion-and-jenkins/上找到。该命令的摘录如下:

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

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

vboxmanage discardstate 'My Genymotion name machine'

最新更新