web-dev-qa-db-ja.com

virtualboxが起動しているか、スクリプトから起動しているかを常に確認する

Virtualbox(ubuntu)を起動するシェルスクリプトを書いています。コマンドの後、virtualboxのステータスをチェックし続けるためにforループを配置し、ubuntuが完全に開始された後にのみスクリプトがループから出ます。何かのようなもの

vboxmanage starvm Ubuntu

for (i= 0; i < 100; i++)
{
continue if (vbox is not on)
}

vboxが完全にオンになったら終了し、次のコマンドを実行します

2

VBoxManage を使用して、仮想マシンの状態を照会できます。次のコマンドは、システムで実行中のすべての仮想マシンをリストします。

VBoxManage list runningvms

出力には、スクリプトでさらに解析できる次の情報が表示されます。

"name_of_machine" <UUID>

もちろん、ゲストOSが正常に起動したか、使用する準備ができているかはわかりません。このような情報については、起動後にホストで実行状態を送信するために、ゲストでスクリプトを実行する必要があります。

7
Takkat

私はその質問に答えるのが少し遅れていることを知っています。しかし、それは他の人を助けるかもしれません。次のコマンドを実行して、仮想マシンの状態を取得できます

VBoxManage list vms -l | grep -e Name: -e State

すべての仮想マシンとそのステータスが表示されます。ループ内でこのコマンドを実行し、各マシンのステータスを確認します。

if( stopped || paused ) 
VBoxManage startvm VMNAME           //here VMNAME is variable containing name of your vm
else
//do nothing

すべてのVMに対して実行します。私はそれが役立つことを願っています

0
Bilal