我需要一個shell腳本方式來確定遠程linux/OSX何時完成了/etc/init.d/*所有運行級別的運行。需要確定何時完全初始化linux/OSX
因爲我知道我可以在我的網絡上啓動並運行像/ bin/true或/ bin/ps這樣的命令,但它並不處於需要的狀態。
基本上我需要
while [ ${INIT_STILL_RUNNING_ON_REMOTE_SYSTEN} ]
do
sleep 30
done
ssh [email protected]:command
我需要一個shell腳本方式來確定遠程linux/OSX何時完成了/etc/init.d/*所有運行級別的運行。需要確定何時完全初始化linux/OSX
因爲我知道我可以在我的網絡上啓動並運行像/ bin/true或/ bin/ps這樣的命令,但它並不處於需要的狀態。
基本上我需要
while [ ${INIT_STILL_RUNNING_ON_REMOTE_SYSTEN} ]
do
sleep 30
done
ssh [email protected]:command
你可以把一個腳本在運行級別您有興趣的是要運行的最後一件事,並首先要關閉觸及文件的地方,以表明它已經運行。
例如,如果您創建了一個名爲S99finished
的腳本並將其放入運行級別文件夾,它將在該運行級別上最後運行。關機時,相應的K00finished
將首先運行。
S99finished
可能類似於:
#!/bin/bash
touch ~/.init_finished
和K00finished
可能類似於:
#!/bin/bash
if [ -e ~/.init_finished ]; then
rm ~/.init_finished
fi
然後你的啓動腳本會詢直到~/.init_finished
存在此時它會去很快樂的方式。
請注意,啓動腳本以root用戶身份運行,因此使用主目錄tilde會將其放入root主目錄。這可能對你所做的並不理想,但是可以說明這一點。將它放在/var/log
或其他常用來查詢的地方很容易。只要記住,無論你在哪裏堅持,它都必須具有讀取權限。
我認爲你的意思是K00已完成。 – 2012-01-18 19:31:43
你是對的,愚蠢的錯字。謝謝。 – tpg2114 2012-01-18 19:37:50
你爲什麼認爲這很有用? – 2012-01-18 19:07:06
我有一些非常惱人的開發東西,在我的mac上運行在virutal linux上。在啓動我的IDE之前,必須先啓動並運行虛擬機。之後,我可以啓動我的IDE。這真的很糟糕,我必須坐在我的桌面上,每天點擊相同的按鈕和窗口,當我可以設置一些腳本來開始一切去獲得我的咖啡 – 2012-01-18 19:10:16
聽起來像只需要知道這些進程正在運行,然後解決問題。 – 2012-01-18 19:17:51