Что делать при зависании виртуальной машины?

При локальной работе с Discourse в среде Windows / Vagrant / VirtualBox машина может иногда зависать.
В таком случае вернуть виртуальную машину к жизни можно примерно так же, как в аналогичной ситуации реальную: выключить питание, а потом снова загрузить.

Это можно сделать посредством утилиты VBoxManage из дистрибутива VirtualBox.
Ранее я рекомендовал добавить корневую папку VirtualBox в переменную среды PATH.
Если Вы последовали этому совету, то VBoxManage будет сейчас для Вас доступна в краткой записи, без указания пути.

Шаг 1.

Чтобы командовать виртуальной машиной, надо знать либо её имя, либо идентификатор.
Именно поэтому в своём Vagrantfile я назначаю виртуальной машине короткое и понятное имя:

v.name = "discourse_sandbox"

Вы также можете узнать имя и идентификатор машины посредством команды:

VBoxManage list vms

Шаг 2.

Выключаем у виртуальной машины питание:

VBoxManage controlvm discourse_sandbox poweroff

Конечно, лучше было бы перезагрузить машину нормальными способами, однако, как и с реальными компьютерами, при зависании нормальные способы обычно не работают.

Шаг 3.

Заново загружаем виртуальную машину:

vagrant up

Шаг 4.

Дальше стандартно: подключаемся к машине по SSH и запускаем Discourse.

Смотрите также: Что делать при зависании Discourse в среде Windows / VirtualBox / Vagrant?