본문 바로가기

Management/Scripts

프로세스 관리 스크립트

다음의 예제는
한 머신에서 같은 이름의 서비스를 올리는 경우 어떤 폴더에서 어떠한 프로세스가
떠 있는지 참 난해하다.. 만일 어떤 서버 내려 했는데 그 머신에 몇개의 프로세스가
떠 있는 경우 어떤걸 죽어야 하나 잘 못 죽이는 경우에는 백섭이 날 경우도 있으므로
#!/bin/sh
YELLOW="\033[1;33m"
BLUE="\033[1;34m"
RED="\033[1;31m"
GRAY="\033[1;30m"
NOCOLOR="\033[0m"
echo "Service(`hostname`) Start"

PID=`cat .Service.pid`

if [ -n "$PID" ] && [ "$PID" != "" ]; then
        CNT=`ps -p $PID | wc -l`
        if [ $CNT -gt 1 ]; then
                echo -e "$RED ======> Already Running. Skip  $NOCOLOR"
                exit 1
        fi
fi
{ ./usr/local/mysql/mysqld > service.out 2>&1 & } || {
echo -e "$RED ======> Fail $NOCOLOR"
exit 1
}
echo $! > . Service.pid
echo -e "$YELLOW =====> Success $NOCOLOR"
exit 0
 
#!/bin/sh
PID=`cat .aiserver.pid`

다음과 같은 프로세스를 만들어서 관리하면 좀 편하다는 사실
위 스크립트는 프리비 멜 구룹멜에서 가져왔는데 이전에
쓴 스크립트랑 많이 비슷하다는 느낌이 들고 예전껄 잃어버리는 바람에
참고용으로..슥삭..
kill $PID && cat /dev/null>.aiserver.pid

'Management > Scripts' 카테고리의 다른 글

PowerShell Newwork 공유드라이버 접속방법  (0) 2012.12.15
[ SHELL ] IF 조건 연산자.  (0) 2008.08.18
Bash 문서  (0) 2008.07.22
Crontab Environment  (0) 2008.07.21
Crontab Command  (0) 2008.07.21