একটি নির্দিষ্ট ভার্চুয়াল মেশিন কমান্ড লাইন থেকে চালু এবং চলমান থাকলে আমি কমান্ড লাইন থেকে কীভাবে বলতে পারি?
একটি নির্দিষ্ট ভার্চুয়াল মেশিন কমান্ড লাইন থেকে চালু এবং চলমান থাকলে আমি কমান্ড লাইন থেকে কীভাবে বলতে পারি?
উত্তর:
vboxmanage list vms
ডস নট (আর?) জানায় যে ভিএম চলছে কিনা। এটি তালিকা চালানো না।
vboxmanage showvminfo "your_vm_name" | grep -c "running (since"
এটি চলমান থাকলে 1 প্রদান করবে, বা 0 না হলে 0 প্রদান করবে।
if ! VBoxManage showvminfo VMNAME --machinereadable | egrep '^VMState="poweroff"$' > /dev/null; then ...
vboxmanage showvminfo "vmname or GUID" | findstr /c:"running (since"
vboxmanage list runningvms
আপনি যদি সমস্ত ভিএম-এর একটি তালিকা চান তবে তারা এই আদেশটি ব্যবহার করছে কিনা তা দেখার জন্য:
vboxmanage list vms --long | grep -e "Name:" -e "State:"
এটি এক লাইনে ভিএমএসের নাম এবং নীচের লাইনে যেমন এর মতো অবস্থা দেখায়
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:'
এই কমান্ডটি চলমান ভিএমএসের তালিকা আউটপুট করে (ভার্চুয়ালবক্স 5.1-এ পরীক্ষা করা)
VBoxManage list runningvms
কোনও ভিএম চলছে কিনা তা জানতে, এই আদেশটিটি কাজটি করা উচিত (চলমান হলে 1 টি ফিরে আসুন, অন্যথায় 0):
VBoxManage list runningvms | sed -r 's/^"(.*)".*$/\1/' | grep 'VM Name' | wc -l
আমি বিশ্বাস করি আপনি ভিবিক্সম্যানেজ (ভার্চুয়ালবক্সের কমান্ড-লাইন ইন্টারফেস) ব্যবহার করে এই তথ্যটি পেতে পারেন ।
নির্দিষ্ট ভার্চুয়াল মেশিন সম্পর্কিত তথ্য প্রদর্শন করার জন্য আপনি শোভমিনফো কমান্ডটি ব্যবহার করতে পারেন ।
VBoxManage তালিকা ভিএমএস-তে সমস্ত ভার্চুয়াল মেশিনের জন্য দেখাতে যেমন একই তথ্য ।
মিশ্রন VBoxManage list runningvms
সঙ্গে grep
একা অন্য কিছু ছাড়া শুধুমাত্র একটি কনসোল আউটপুট দেবে না, কিন্তু শেল স্ক্রিপ্টিং প্রয়োজনের জন্য প্রয়োজনীয় আগমন কোড প্রদান করবে। 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
ডাবল উক্তিগুলি মুছে ফেলার জন্য ব্যবহৃত হয়েছিল, বা যদি ডাবল উদ্ধৃতিগুলি ছাড়াই গ্রেপ করা হয়েছিল , তবে মিথ্যা ধনাত্মক প্রত্যাবর্তন হবে। প্রদর্শন:
$ VBoxManage list runningvms |grep demo_vm
"demo_vm_on" {bbff5c0e-f8d4-4751-8d34-c53c4b191613}
$ echo $?
0
রুট @ আপনারহেল # ভিবক্স পরিচালনা তালিকা ভিএমএস
এছাড়াও, এই নথিটি দেখুন।
vboxmanage list runningvms