Belirli bir sanal makinenin komut satırından çalışıp çalışmadığını komut satırından nasıl anlayabilirim?
Belirli bir sanal makinenin komut satırından çalışıp çalışmadığını komut satırından nasıl anlayabilirim?
Yanıtlar:
vboxmanage list vms
Dos (artık?) Vm'nin çalışıp çalışmadığını söyler. Ayrıca çalışan olmayanları da listeler.
vboxmanage showvminfo "your_vm_name" | grep -c "running (since"
Will çalışıyorsa 1, değilse 0 döndürür.
if ! VBoxManage showvminfo VMNAME --machinereadable | egrep '^VMState="poweroff"$' > /dev/null; then ...
vboxmanage showvminfo "vmname or GUID" | findstr /c:"running (since"
vboxmanage list runningvms
Tüm VM'lerin bir listesinin çalışıp çalışmadığını görmek istiyorsanız bu komutu kullanın:
vboxmanage list vms --long | grep -e "Name:" -e "State:"
Bu, VM'lerin adını bir satırda ve durumunu aşağıdaki satırda gibi gösterir:
Name: windows10pro
State: running (since 2017-06-09T09:16:46.593000000)
Name: ubuntu16LTS
State: powered off (since 2017-02-09T19:11:33.000000000)
Name: zammad
State: running (since 2017-06-09T09:08:13.871000000)
... | grep -v -e 'Host path:'
Bu komut, çalışan vms listesini verir (Virtualbox 5.1'de test edilmiştir)
VBoxManage list runningvms
Bir vm'nin çalışıp çalışmadığını bilmek için, bu komut işi yapmalıdır (çalışıyorsa 1, aksi takdirde 0 döndürür):
VBoxManage list runningvms | sed -r 's/^"(.*)".*$/\1/' | grep 'VM Name' | wc -l
VBoxManage (VirtualBox için komut satırı arabirimi) kullanarak bu bilgileri alabilirsiniz inanıyorum .
Belirli bir sanal makine hakkında bilgi göstermek için showvminfo komutunu kullanabilirsiniz .
Bu, VBoxManage list vms'nin tüm sanal makineler için göstereceği bilgilerle aynıdır .
Birleştirme VBoxManage list runningvms
ile grep
yalnız başka bir şey olmayan tek bir konsol çıkış vermez, aynı zamanda kabuk komut dosyası ihtiyaçları için gerekli olan dönüş kodu sağlar. grep
Komutu bir vm adı verilir durumunda VM için tam çift tırnak gerektirecektir: örnek:
$ VBoxManage list runningvms |grep '"demo_vm"'
$ echo $?
1
Koşan biri için
$ VBoxManage list runningvms |grep '"demo_vm_on"'
"demo_vm_on" {bbff5c0e-f8d4-4751-8d34-c53c4b191613}
$ echo $?
0
sed
Çift tırnak işaretlerini ortadan kaldırmak için kullanılan diğer cevapta veya grep çift tırnak işaretleri olmadan yapıldıysa , yanlış pozitifler döndürülür. gösteri:
$ VBoxManage list runningvms |grep demo_vm
"demo_vm_on" {bbff5c0e-f8d4-4751-8d34-c53c4b191613}
$ echo $?
0
root @ yourshell # vboxmanage list vms
Ayrıca, bu belgeye bakın .
vboxmanage list runningvms