Bagaimana saya bisa tahu dari baris perintah jika mesin virtual tertentu sudah aktif dan berjalan dari baris perintah?
virtualbox
BenAlabaster
sumber
sumber
vboxmanage list runningvms
Jawaban:
Dos not (again?) Memberi tahu apakah vm sedang berjalan atau tidak. Daftarnya juga tidak berjalan.
Akan mengembalikan 1 jika sedang berjalan, atau 0 jika tidak.
sumber
if ! VBoxManage showvminfo VMNAME --machinereadable | egrep '^VMState="poweroff"$' > /dev/null; then ...
vboxmanage showvminfo "vmname or GUID" | findstr /c:"running (since"
vboxmanage list runningvms
Jika Anda ingin daftar semua VM untuk melihat apakah mereka berjalan atau tidak menggunakan perintah ini:
Ini akan menampilkan nama VMs dalam satu baris dan statusnya di baris berikut seperti pada
sumber
... | grep -v -e 'Host path:'
Perintah ini menampilkan daftar menjalankan vms (diuji pada Virtualbox 5.1)
Untuk mengetahui apakah vm sedang berjalan, perintah ini harus melakukan pekerjaan (mengembalikan 1 jika berjalan, 0 sebaliknya):
sumber
Saya percaya Anda bisa mendapatkan informasi ini menggunakan VBoxManage (antarmuka baris perintah ke VirtualBox).
Anda dapat menggunakan perintah showvminfo untuk menampilkan informasi tentang mesin virtual tertentu.
sumber
Menggabungkan
VBoxManage list runningvms
dengangrep
sendirian tanpa hal lain tidak hanya akan memberikan output konsol, tetapi juga akan memberikan kode pengembalian yang diperlukan untuk kebutuhan skrip shell. Thegrep
perintah akan memerlukan kutipan yang tepat ganda untuk VM dalam kasus di mana nama vm disediakan: Contoh:Untuk yang sedang berjalan
Di jawaban lain di mana
sed
digunakan untuk menghilangkan tanda kutip ganda, atau jika grep dilakukan tanpa tanda kutip ganda, positif palsu akan dikembalikan. Demonstrasi:sumber
Juga, lihat dokumen ini.
sumber