删除.vagrant文​​件后如何销毁VM?

Pic*_*els 59 virtual-machine vagrant

我删除了包含.vagrant文​​件的目录.当我启动一个新VM时,它抱怨正在使用的端口.那么如何在不使用.vagrant文​​件的情况下销毁虚拟机呢?

Pic*_*els 96

以下VirtualBox命令可能会有所帮助.如果poweroff不起作用,请尝试unregistervm.

$ VBoxManage list runningvms
$ VBoxManage controlvm <uuid> poweroff
$ VBoxManage unregistervm <uuid>
Run Code Online (Sandbox Code Playgroud)

来源:https://support.cloud.engineyard.com/entries/21449637-I-deleted-Vagrantfile-vagrant-and-or-the-app-directory-before-halting-the-VM-Now-ey-local-上错误-

用于停止所有正在运行的vms的Shell脚本:

VBoxManage list runningvms | awk '{print $2;}' | xargs -I vmid VBoxManage controlvm vmid poweroff
Run Code Online (Sandbox Code Playgroud)

  • @ValkoSipuli尝试'vagrant global-status --prune`.请参见http://stackoverflow.com/a/24446866/300836 (37认同)
  • 这些命令肯定会破坏VM.但是他们仍然在"流浪的全球地位"中为机器留下了一个条目. (4认同)
  • 使用`vboxmanage unregistervm --delete`来物理删除VM,就像`vagrant destroy`一样 (4认同)

Ger*_*rry 30

最简单的方法是启动VirtualBox的GUI客户端并删除(可能在关闭之后)虚拟机.您只需右键单击虚拟机并执行这些操作即可.

在此输入图像描述

  • 如果你是在你的开发箱中ssh或者只是从命令行工作,那就不是了.另外,如果你的别名killvms ="VBoxManage list runningvms | awk'{print\$ 2;}'| xargs -I vmid VBoxManage controlvm vmid poweroff"`你只需输入killvms而不是启动并等待GUI. (4认同)
  • 你的假设是错的!但是因为你离我这么近,我会让这一个滑落.嗨,开个玩笑对于当地流浪汉的人来说仍然是一个很好的答案. (2认同)

Pow*_*iKi 6

以下 bash 函数将关闭并销毁与当前用户的所有 VM 相关的所有文件:

function killvms() {
  VBoxManage list runningvms | awk '{print $2;}' | xargs -I vmid VBoxManage controlvm vmid poweroff
  VBoxManage list vms | awk '{print $2;}' | xargs -I vmid VBoxManage unregistervm --delete vmid
}
Run Code Online (Sandbox Code Playgroud)

将它添加到您的~/.bash_aliases并通过killvms.