명령 줄에서 가상 머신이 작동하는지 어떻게 알 수 있습니까?


25

명령 줄에서 특정 가상 머신이 시작되어 실행 중인지 어떻게 명령 줄에서 알 수 있습니까?


4
vboxmanage list runningvms
slm

답변:


17
vboxmanage list vms

vm이 실행 중인지 (더 이상?) 말하지 않습니다. 또한 실행되지 않는 것을 나열합니다.

vboxmanage showvminfo "your_vm_name" | grep -c "running (since"

실행 중이면 1을, 그렇지 않으면 0을 반환합니다.


2
또한,if ! VBoxManage showvminfo VMNAME --machinereadable | egrep '^VMState="poweroff"$' > /dev/null; then ...
X-유리

Windows 사용vboxmanage showvminfo "vmname or GUID" | findstr /c:"running (since"
phuclv

3
vboxmanage list runningvms
slm

9

모든 VM 목록에서 VM이 실행 중인지 또는이 명령을 사용하지 않는지 확인하려면 다음을 수행하십시오.

vboxmanage list vms --long | grep -e "Name:" -e "State:"

그러면 VM 이름이 한 줄에 표시되고 다음과 같은 상태가 표시됩니다 (예 :

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으로 파이프를 제거하십시오 :... | grep -v -e 'Host path:'
Doug Thompson

이것은 또한 일시 중지 된 시스템을 보여줍니다. "list runningvms"는 일시 중지 된 시스템이 실행 중이며 약간 혼란 스러울 수 있다고 생각합니다.
Samuel Åslund

5

이 명령은 실행중인 vms 목록을 출력합니다 (Virtualbox 5.1에서 테스트 됨)

VBoxManage list runningvms

vm이 실행 중인지 확인하려면이 명령이 작업을 수행해야합니다 (실행 중이면 1을 리턴하고, 그렇지 않으면 0을 리턴).

VBoxManage list runningvms | sed -r 's/^"(.*)".*$/\1/' | grep 'VM Name' | wc -l

일시 정지 된 시스템이 "list runningvms"로 실행중인 것으로 표시되면 문제 해결시 다소 혼란 스러울 수 있습니다!
Samuel Åslund

1

VBoxManage (VirtualBox에 대한 명령 줄 인터페이스)를 사용하여이 정보를 얻을 수 있다고 생각합니다 .

showvminfo 명령 을 사용 하여 특정 가상 머신에 대한 정보를 표시 할 수 있습니다 .

이것은 VBoxManage list vms 가 모든 가상 머신에 표시 하는 것과 동일한 정보 입니다.


1

결합 VBoxManage list runningvmsgrep 혼자 아무것도하지 않고 만 콘솔 출력을 제공하지 않습니다, 또한 쉘 스크립트 요구에 필요한 리턴 코드를 제공합니다. grep명령은 VM 이름이 제공되는 경우에 VM에 대한 정확한 따옴표가 필요합니다 예를 :

$ VBoxManage list runningvms |grep '"demo_vm"'
$ echo $?
1

달리는 사람

$ VBoxManage list runningvms |grep '"demo_vm_on"'
"demo_vm_on" {bbff5c0e-f8d4-4751-8d34-c53c4b191613}
$ echo $?
0

sed큰 따옴표를 제거하는 데 사용 된 다른 대답에서 또는 큰 따옴표 없이 grep을 수행 하면 거짓 긍정이 반환됩니다. 데모:

$ VBoxManage list runningvms |grep demo_vm
"demo_vm_on" {bbff5c0e-f8d4-4751-8d34-c53c4b191613}
$ echo $?
0

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.