Virtualbox имеет возможность выдавать команду работающей виртуальной машине:
vboxmanage controlvm NameOfRunningVM acpipowerbutton
однако эта команда возвращается немедленно, что приводит к некорректному завершению работы в моей ситуации.
ситуация: я планирую использовать это в /etc / init.д сценарий. Это позволит корректно завершить работу всех запущенных виртуальных машин. В настоящее время, когда я выдаю vboxmanage controlvm NameOfRunningVM acpipowerbutton
команда завершение работы получает отсечение, потому что команда не ждет завершения работы виртуальной машины.
мне нужен сценарий Bash, который принимает в качестве входных данных имя машины Virtualbox и тайм-аут в секундах, затем ждет, пока виртуальная машина вернется в состояние "poweroff" или произойдет тайм-аут?
Я не уверен, что это лучший способ пойти об этом.
Я думал проверить состояние виртуальной машины с помощью следующей команды:
[user@machine ~]$ vboxmanage list runningvms
"VirtualMachineName" {65c93f1f-4508-4119-b07d-ce9e89b23b8e}
сценарий bash, возможно, опрашивает список запущенных виртуальных машин. Как только имя машины перестанет отображаться, виртуальная машина будет считаться завершенной.