我最初创建了一个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 vagrant和ps aux | grep virtualbox也没有显示任何东西。
发布于 2015-01-27 17:26:50
结果,vagrant global-status输出显示了一个红色鲱鱼:它从~/.vagrant.d/data/machines-index/index读取所有机器的状态。没有任何机器在运行,因为没有使用ps命令(H/T到@CEPA)显示进程,也没有机器在VirtualBox应用程序中运行。这也解释了为什么即使在重新启动之后,它的状态仍在“运行”。运行vagrant global-status --prune会清除文件,从而清除全局状态报告。
发布于 2015-01-27 16:13:55
当我有一个无法与之交流的Vagrant时,我就会终止这个过程。进程名通常是VBoxHeadless.exe,并且在完整的路径中有一个名称,您可以在该路径中实现grep。ps aux | grep -i vbox | grep [put name here]
https://stackoverflow.com/questions/28174731
复制相似问题