假如現在在 crond 中新增了乙個每分鐘執行的定時任務如下:
*/1 * * * * root cd /data/sbin; sh test.sh >/dev/null2>&1
為了防止上乙個程序還沒完成,下乙個程序就啟動,我們可以建立乙個shell來守護該程序,方法如下:
#!/bin/shps aux | grep test/init | grep -v grep > /dev/null
if [ $? != 0
]then
echo
"yii test not runing
"cd /data/web/; /usr/bin/php yii test/init 1>/dev/null
2>/tmp/test.txt &fi
注意:
如果使用文字編輯是在windows下通過記事本編寫的這個檔案,執行 在linux環境下。
報unexpected end of file的錯,原因是 windows 和 linux的換行符不同導致的。
解決思路:
dos下的文字檔案是以\r\n作為斷行標誌的,表示成十六進製制就是0d 0a。而unix下的文字檔案是以\n作為斷行標誌的,表示成十六進製制就是0a。
【在windows裡,換行用的兩個符號,回車\r,換行符號\n,在linux下只需乙個符號\n就可以了.】
解決方案:
使用下面的命令將檔案格式設定為unix格式即可解決上述錯誤。
vim test.sh
:set fileformat=unix
:wq
用shell寫守護程序指令碼
乙個udhcpd與udhcpc的守護,目前只會用shell模仿編寫,還有什麼方法可以做守護呢?bin sh 程序名字可修改 pro name udhcpc wlan ra0 while true do 用ps獲取 pro name程序數量 num ps aux grep grep v grep wc...
Linux守護程序Shell指令碼
服務端程式一般需要長期後台穩定執行,除了保證程式本身的健壯外,還需要用到一些守護程式。現分享乙個簡單的shell指令碼的方式 bin sh 程序名字可修改 pro name rails cmd nohup bundle exec rails server webrick p3000 b 0.0.0....
Linux守護程序Shell指令碼
服務端程式一般需要長期後台穩定執行,除了保證程式本身的健壯外,還需要用到一些守護程式。現分享乙個簡單的shell指令碼的方式 bin sh 程序名字可修改 pro name rails cmd nohup bundle exec rails server webrick p3000 b 0.0.0....