2016-10-26 144 views
-1

我想知道在Virtualbox中的Windows guest虛擬機關閉時是否可以自動關閉Linux主機。我猜測某種腳本可以做到這一點?當Virtualbox Guest Windows關閉時,關閉Linux主機的腳本?

主持人:Linux Mint的 遊客:Windows 7和Windows 10

當在Windows用戶按下關機這將是很好的,如果Linux的也能自動關機不久,客人有安全關機。

回答

0

您可以在cron中使用scrpit,每5分鐘左右運行一次。類似這樣的東西:

#!/bin/bash 
VM_NAME='your_vm' 
vboxmanage showvminfo $VM_NAME | grep -qE 'State: +powered off' && shutdown -h 

請注意,它將在虛擬機未運行時隨時關閉。

+0

這看起來像一個很好的解決方案,只要有兩個問題,如果沒關係,對不起,如果任何看起來有點小白菜。 1.)是否有可能讓腳本檢查多個虛擬機的一個Windows 7另一個Windows 10.如果兩個都沒有運行關機如果一個正在運行不關機。 2.)默認情況下,每5分鐘做一次cron作業,還是在我自己設定時間的時候設置自己的時間非常簡單? 對不起任何noob問題,這是我第一次需要創建一個這樣的腳本,並作出一個cron。 – Deltatash

+0

@Deltatash 1.這是可能的,但你需要解釋,你的意思是說'關機'。暫停的VM應該被認爲正在運行?保存的虛擬機應該被視爲關閉? 2. Cron有非常簡單的語法,可以在不同的時間設置。在大多數發行版中,您可以輸入'crontab -e'並閱讀註釋。 –

0

有一個粗糙的黑客辦法做到這一點。這裏所說:

每當客人形象是關機,VirtualBox的寫入當前的配置回爲一個.vbox文件(位於$ HOME/.vbox)

  1. 寫一個簡單的shell腳本會檢查修改日期與當前時間匹配並啓動Linux機器的關閉進程。

  2. 創建一個cron作業,例如每45秒運行一次該腳本。

PS:您可以通過檢查緩衝區的時間範圍(比如在最近5分鐘內修改)來使腳本更加智能化。通過這樣做,您可以增加cron作業頻率以每4.45分鐘運行一次以提高效率。

PS2:如果您在虛擬機運行時修改VirtualBox配置或僅編輯配置,則會觸發您的主機關機,因爲您修改了配置。