아래는 데몬이 계속 떠있는 상태이다. 킬 시켜보자


test_daemon.sh 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/ksh
. $HOME/.profile
cd /app/integ/batch/bin
 
echo "Start:"`date '+%Y%m%d%HH%MI'>> /app/integ/batch/bin/demon.log
PROCESS='ls ./BAT00001'
 
for PROC in $PROCESS
do
    COUNT=`ps -ef | grep $PROC | grep -v grep |wc -l`
    if [ $COUNT -eq 0 ]
    then
        $PROC &
        echo "  $PROC Process Start Done..."      
    else
        echo "  $PROC Process Exist Skip..."     
    fi
done
echo "End:"`date '+%Y%m%d%HH%MI'>> /app/integ/batch/bin/demon.log
 
cs


위와 같은 test_daemon.sh를 실행시켜서 BAT00001.pc 파일이 돌아야 하는데 돌지 않고 Exist Skip... 로그만 찍힌다.




ps -ef | grep ./BAT00001 | grep -v grep |wc -l


서버에서 BAT00001 로 위와 같이 조회해보니 1 이라고 떨어진다.


0이 아니니까 Skip




0으로 만들기 위해 프로세스를 죽이자.


1. UID 번호 조회


ps -e | grep BAT00001



2. 조회한 번호로 kill


kill -9 121456



3. 다시 ps -ef | grep ./BAT00001 | grep -v grep |wc -l 조회



정상적으로 0으로 변경된거 확인하고 다시 돌리면 실행된다.




+ Recent posts