본문 바로가기
Linux Unix

[ Linux ] 프로세스 자동 재구동 쉘스크립트

by 정윤재 2011. 6. 10.

프로세스가 죽었을때 재구동 하는 스크립트가 있었으면 좋겠다고

생각해서 하나를 만들어 보았다.


    #!/bin/bash
     pid=`ps -ef | grep "tomcat7.0.14" | grep -v 'grep' | awk '{print $2}'`
    if [ -z $pid ]; then
        /usr/local/tomcat7.0.14/bin/startup.sh
    fi

if 에 -z 옵션은 null 일 경우 true 인 모양이다.

이걸 while을 써서 무한 루프로 돌리거나 crontab 에 등록하면 될 것이다.

내가 실전에 사용한 코드는

startTomcat.sh 라는 쉘파일을 아래와 같이 만들고

===============================================================
#!/bin/bash
while [ 1 ]
   do
        pid=`ps -ef | grep "tomcat7.0.14" | grep -v 'grep' | awk '{print $2}'`
        if [ -z $pid ]; then
         /usr/local/tomcat7.0.14/bin/startup.sh
        fi
       sleep 60
   done

=================================================================

shell> startTomcat.sh &

이렇게 백그라운드로 실행시켰다.
(60초에 한번씩 프로세스 구동 여부를 확인후 재실행 시킬 것이다.





댓글