shell腳本自動拉起啟動程序


一、我們先看看編寫的shell腳本的內容,該shell的作用主要是實現監控某個程序崩潰之后就自動重啟該進程。

  #!/bin/bash  

  

  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&

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM