global-statusでvagrant内を確認してみる。
$ vagrant global-status
id name provider state directory
----------------------------------------------------------------------------------------------
xxxxxxx wocker virtualbox inaccessible /Users/xxxxx/wocker
$ vagrant global-status --prune
※通常これで存在していないものは削除される。
$ vagrant destroy xxxxxx
[xxxxxx]上のid番号を指定でdestroyできる。
これでも削除されない場合VirtualBoxのコマンドで確認してみる。
$ VBoxManage list vms
"<inaccessible>" {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
"<inaccessible>" {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
"example.dev" {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
アクセスできない(inaccessible)がたくさんでてきたので削除する。
コピーして全部つなげて以下のようなコマンドにしましたが良い方法があったら教えてください。
$ VBoxManage unregistervm {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} && VBoxManage unregistervm {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
そのあとglobal-statusで確認してまだのこっていたら--pruneで削除できるはず。
$ vagrant global-status
$ vagrant global-status --prune
ディレクトリが違う仮想マシンを落としたり、消したり
$ vagrant global-status
id name provider state directory
----------------------------------------------------------------------------------------
xxxxxxx xxxxxxx.dev virtualbox poweroff /xxxxxxx
xxxxxxx xxxxxxx.dev virtualbox running /xxxxxxx
xxxxxxx xxxxxxx.dev virtualbox aborted /xxxxxxx
$ vagrant halt xxxxxxx xxxxxxx xxxxxxx xxxxxxx
$ vagrant destroy xxxxxxx
IDを指定して別階層から操作できるっぽい。(追記:複数指定も)