본문으로 바로가기

리눅스에서는 타임스케줄러인 crontab 기능이 있다.

*/3 * * * * /{shell_path}/script.sh

crontab에 3분마다 실행하도록 설정

 

script.sh 상세내용

daemon_array=("daemon_process1" "daemon_process2" "daemon_process3")
daemon_path=/home
for i in "${daemon_array[@]}"
do
        file=$daemon_path/$i/nohup.out

        if [ -e "$file" ]
        then
                pid_info=$(ps -A -o pid,cmd|grep $i.jar | grep -v grep | head -n 3 | awk '{print $1}')

                if((pid_info > 0 ))
                then
                        echo "pid_info : $pid_info"
                        rm $daemon_path/$i/nohup.out
                        kill -9 $pid_info
                        cd $daemon_path/$i/
                        nohup ./{script실행파일} >> $daemon_path/$i/nohup.out
                fi
                echo "$file is exists"
        else
                echo "$file is not exists"
        fi
done