원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

시작한지 1시간 이상 경과한 프로세스만 골라서 kill -9  명령어를 날려주는 프로세스

 

ps -ef 명령어의 결과

# ps -ef | grep http

apache   30553  1794  0 13:03 ?        00:00:36 /usr/sbin/httpd -DFOREGROUND

 

프로세스 시작시간이 13:03 인걸 이용하여 현재 시간과 비교하여 2 만큼 차이가 나면 프로세스는 죽인다.

 

 

 

############ program kill ###############################################################

#!/bin/bash

export LANG=C

TEMP=/root/NAME_OF_PROCESS .tmp

ps -ef | grep NAME_OF_PROCESS | grep -v grep  >> ${TEMP}


while read LIST

do

        CURRENT_TIME=`date +%H`
        PID=`echo ${LIST} | awk {'print $2'}`
        PRC_TIME=`echo ${LIST} | awk {'print $5'} | cut -d ":" -f 1`
        DIFF_TIME=`expr ${CURRENT_TIME} - ${PRC_TIME}`
        echo

        if [ ${DIFF_TIME} -gt 1 ];
        then
                echo ${LIST}
                echo "TRUE"
                kill -9 ${PID}
        else
                if [ ${DIFF_TIME} -eq -22 ];
                then
                echo ${LIST}
                echo "TRUE"
                kill -9 ${PID}
                else
                        echo ${LIST}
                        echo "FALSE"
                fi

        fi

done < ${TEMP}

 

rm -rf ${TEMP}

 

############ program kill ###############################################################

서버에 요청 중입니다. 잠시만 기다려 주십시오...