一、我們先看看編寫的shell腳本的內容,該shell的作用主要是實現監控某個程序崩潰之后就自動重啟該進程。
while true
do
procnum=` ps -ef|grep "test"|grep -v grep|wc -l`
if [ $procnum -eq 0 ]; then
/home/test&
fi
sleep 30
done
-eq意思是等於0,用於判斷該test是否還在運行狀態。監控/home/test這個程序是否運行。
二、由於該程序是window上的編寫的,我們將它(名字用run._start.sh)拷貝到Linux下之后需要對它賦予操作的權限
chmod 777 run_start.sh
三、我們將啟動一下該程序
./run_start.sh &
記得加上&,要不然得窗口退了,該腳本也退出了。
三、發現運行的時候有錯誤“-bash: ./run_start.sh: /bin/bash^M: bad interpreter: 沒有那個文件或目錄” ,根據提示,我以為沒有這個shell沒有安裝,所以找不到“/bin/bash”,其實理解錯誤了,是linux上無法識別window的doc格式。以后記住了,如果遇到這bad interpreter的錯誤,一定要將字符做一下轉換,方法如下:
1)編輯出錯文件
vi run_start.sh
2)查看該格式(報錯文件格式是DOS)
:set ff
3)修改格式
:set ff=unix
4)保存退出
:wq!
四、再重新運行腳本,可以看到正常了
五、設置開機自動啟動腳本
使用命令 vi /etc/rc.local 在文件末尾添加這一行 /home/test.sh&