sysv.in2

来自「一个UNIX/LINUX下的基于内容的过滤服务器源代码」· IN2 代码 · 共 100 行

IN2
100
字号
# File includes changes by Thomas Jaroschfunction wait_for_pid(){    local PID=$1    local RET=0        if [ $PID -eq 0 ] ; then        return $RET    fi        # give 60 secs then KILL    local COUNTDOWN=60    while [ -d /proc/${PID} ] && [ $COUNTDOWN -gt 0 ] ; do        sleep 1        COUNTDOWN=$[$COUNTDOWN-1]    done    if [ -d /proc/${PID} ]; then        COMMAND=`ps h -o command ${PID}`        logger "dansguardian: timeout waiting for PID ${PID}: ${COMMAND}; sending SIGKILL"        kill -KILL $PID >/dev/null 2>&1        RET=1    fi        return $RET}# See how we were called.case "$1" instart)        if [ -f ${BINARYLOCATION}dansguardian ] &&           [ -f ${CONFFILELOCATION}dansguardian.conf ]; then                echo -n "Starting dansguardian: "                if ${BINARYLOCATION}dansguardian 2> /dev/null; then                        echo -e "\\033[60G\c"                        echo -e "[ \\033[1;32m\c"                        echo -e "OK\c"                        echo -e "\\033[0;39m\c"                        echo " ]"                        [ -d /var/lock/subsys ] && touch /var/lock/subsys/dansguardian                else                        echo -e "\\033[60G\c"                        echo -e "[ \\033[1;31m\c"                        echo -e "FAILED\c"                        echo -e "\\033[0;39m\c"                        echo " ]"                fi        fi        ;;stop)        echo -n "Shutting down dansguardian: "        WAITPID=0        if [ -f ${PIDDIR}dansguardian.pid ] ; then            WAITPID=`cat ${PIDDIR}dansguardian.pid`        fi        if ${BINARYLOCATION}dansguardian -q 2> /dev/null; then                if wait_for_pid $WAITPID ; then                    echo -e "\\033[60G\c"                    echo -e "[ \\033[1;32m\c"                    echo -e "OK\c"                    echo -e "\\033[0;39m\c"                    echo " ]"                else                    echo -e "\\033[60G\c"                    echo -e "[ \\033[1;31m\c"                    echo -e "FAILED\c"                    echo -e "\\033[0;39m\c"                    echo " ]"                fi                /bin/rm -f ${PIDDIR}dansguardian.pid                /bin/rm -f /tmp/.dguardianipc                [ -d /var/lock/subsys ] && /bin/rm -f /var/lock/subsys/dansguardian        else                echo -e "\\033[60G\c"                echo -e "[ \\033[1;31m\c"                echo -e "FAILED\c"                echo -e "\\033[0;39m\c"                echo " ]"        fi        ;;restart)        $0 stop        $0 start        ;;status)        if [ -f ${BINARYLOCATION}dansguardian ]; then                ${BINARYLOCATION}dansguardian -s        fi        ;;        *)        echo "Usage: $0 {start|stop|restart|status}" >&2        ;;esacexit 0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?