关闭不再配置的流浪盒

时间:2015-01-27 16:01:37

标签: vagrant virtualbox vagrantfile

我最初创建了一个配置默认框的Vagrantfile。后来,我更新了Vagrantfile以使用具有略微不同配置的命名框(“db”)。不幸的是,在我配置新盒子之前,我忘了暂停初始盒子。现在有一个流氓流浪汉在后台运行,即使在重启主机后也无法停止。

$ vagrant global-status
id       name    provider   state    directory                                                                 
---------------------------------------------------------------------------------------------------------------
6b855b0  default virtualbox running  /Users/chrisbloom7/Projects/rails-upgrade 
d348c3b  db      virtualbox poweroff /Users/chrisbloom7/Projects/rails-upgrade 

$ vagrant halt -f 6b855b0
The machine with the name 'default' was not found configured for
this Vagrant environment.

$ cat Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"

  config.vm.define "db", primary: true do |db|
    db.vm.provider :virtualbox do |vb|
      vb.name = "rails-upgrade-development-mysql"
    end

    # ...
  end
end

$ git show HEAD^:Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "box-cutter/ubuntu1004"

  config.vm.provider :virtualbox do |vb|
    vb.name = "rails-upgrade-development"
  end

  # ...
end

我已经检查过VirtualBox,但是我没有看到任何正在运行的框。 ps aux | grep vagrantps aux | grep virtualbox也没有显示任何内容。

2 个答案:

答案 0 :(得分:8)

结果显示vagrant global-status输出显示红色鲱鱼:它从~/.vagrant.d/data/machines-index/index读取所有计算机的状态。确实没有机器运行,因为没有使用ps命令(H / T到@CEPA)显示任何进程,并且VirtualBox应用程序中似乎没有运行任何机器。这也解释了为什么即使重启后它的状态仍然“正在运行”。运行vagrant global-status --prune会清除文件,从而清除全局状态报告。

答案 1 :(得分:1)

当我有一个我无法与之交流的Vagrant盒子时,我会杀死这个过程。进程名称通常为VBoxHeadless.exe,并且名称将在完整路径中,您可以在其中进行grep。 ps aux | grep -i vbox | grep [put name here]