내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
linux:bash:restart_process
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== Restart Process shell script ====== [[http://stackoverflow.com/questions/696839/how-do-i-write-a-bash-script-to-restart-a-process-if-it-dies|scripting - How do I write a bash script to restart a process if it dies?]] 어떤 Process가 예기치 않게 죽었을 때 무조건 다시 해당 프로세스를 실행시킬 필요가 있을 경우 <code sh> until myserver; do echo "Server 'myserver' crashed with exit code $?. Respawning.." >&2 sleep 1 done </code> myserver가 해당 프로그램일 때 ''until myserver'' 는 myserver를 실행하고 그 리턴값이 돌아올 때까지 기다린다. myserver는 예기치 않게 죽으면 exit code로 0외의 값을 리턴하고, 정상적으로 종료되면 0을 리턴한다. * [[http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_09_03.html|Bash until]] : ''until''은 조건명령이 정상적으로 실행되면 종료되고, 비정상적으로 실행되면 그안의 구문을 실행하고 다시 조건 명령을 실행한다.(''while''과 반대) * 다시 말해, while은 조건이 true인 동안 실행되고, until은 조건이 true가 되는 순간까지 실행되고 빠져나간다. * exit code 0은 명령이 정상 실행 된 것이므로 그냥 종료한다. * exit code가 0외의 값이면 명령 비정상 실행 된 것으로 do~done의 구문을 실행하고 다시 until을 실행한다. 따라서 myserver가 예기치 않게 죽으면 1초 뒤 무조건 재시작 된다. 위 스크립트를 만들어 ''cron''에 ''@reboot''으로 등록하면 서버 재시작시 무조건 해당 스크립트가 실행된다. * ''crontab -e''<code sh> @reboot /usr/local/bin/myservermonitor </code>
linux/bash/restart_process.txt
· 마지막으로 수정됨: 2014/07/16 00:43 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로