2018. 8. 23. 20:30ㆍ프로그래밍/기타
###################################
1. 특정 프로세스를 찾아서 죽이기
#!/bin/bash
ps -ef | grep -v grep | grep 프로세스명 | awk '{print $2}' | xargs --no-run-if-empty kill -9 $1
###################################
2. 특정 프로세스가 살아있는지 체크해서 죽어있으면 살리는 쉘
$ vi /var/test/run.sh
#!/bin/bash
PROCESS_CNT=`ps -ef | grep 프로세스명 | grep -v grep | awk '{print $2}' | wc -l`
if [ "$PROCESS_CNT" == 0 ];
then
echo "[`/bin/date +\%Y\%m\%d_\%H\%M\%S`] Process : Dead!!"
실행시킬_프로세스명
else
echo "[`/bin/date +\%Y\%m\%d_\%H\%M\%S`] Process : Alive!!"
exit 0
fi
위와 같은 쉘을 하나 만들어두고 crontab 에 1분에 한번씩 돌게 해주면 1분에 1회씩 프로세스가 살아있는지 체크하고 죽어있으면 실행 시키도록 할 수 있다.
$ crontab -e
* * * * * /var/test/run.sh >> /var/test/proc_mon.log
$ tail -f /var/test/proc_mon.log
1분에 1회씩 로그가 쌓이는 것을 확인할 수 있습니다.
'프로그래밍 > 기타' 카테고리의 다른 글
root 유저로 ssh 접근 제어 해야할 때 (0) | 2018.08.23 |
---|---|
CentOS - SVN 설치시 에러 (3) | 2018.08.23 |
SSH 접속 세션 시간 조정 (0) | 2018.07.27 |
NginX 최적화를 위한 설정 외부 링크 공유 (0) | 2017.06.02 |
NGINX - Module ngx_stream_geoip_module (0) | 2017.01.30 |