\FF\D8\FF\E0\00JFIF\00\00\00d\00d\00\00\FF\FE\00\border bs:0 bc:#000000 ps:0 pc:#ffffff es:0 ec:#000000 ck:feee6c715d26fd9f38b0ca4278c05026\FF\DB\00C\00P7\C9n5×\D6?\BDê\9Ds\EBp\9F[`8m\B7)o\B5\E8\E6I\99\FE3]]A2\BA\8Cw\D6E\93\\DEv\C8\009\F2\F1NI?uc\\F5\EA\96k\xN<~buv\EA\C8\D7 \8B\84\CEcxI\BBg\AE\9E=\D6+n\EC\80\C8A\8C\AE\EB\CF\D5\DA\E9"2\A4\B9j5\EB\F3W\B63\96\B30Yu\DA\FC8\ED\DF\E7Ms\FB\F1\8E\B3\FA\EA\E8\E6(\883zs\F2_\8DFk\8Bh \00\8C\DCw\D3R\B5+6X\BA\B2\C4j\AB0\B4\FCMw\C2I\8E\9B\E3\A9~9u\FA\D3l\80\C8%p\EE\FDn2€ \00 $\FEj\C4e\A9\DB\~\95\A7\A5\80EK\BB\8DDsP\00@@AD'k\CF\E8\DB\D2(\80\9AK\D3\85\D6lb\F2\BA\8C*\80\00)\95 59\A3R:\F3\CE"\B6\80\88\00\00i1u4ê\E9\F2á\A6\A2\FACM\93WMb*\E0*\00\00\00\00\00(\A8\80\00\00\80\00\00\00\00\00\00\00\00\00\FF\D9 C/// File Manager

File Manager

Path: /usr/local/lsws/bin/

Viewing File: lswsctrl

#!/bin/sh

# resolve links - $0 may be a softlink
PROG="$0"
PIDFILE=/tmp/lshttpd/lshttpd.pid
GRACEFUL_PIDFILE=/tmp/lshttpd/graceful.pid

#if [ -d "/usr/local/cpanel" ]; then 
#    WSWATCH=1
#fi
DEF_UMASK=`umask`
if [ "x$DEF_UMASK" = "x077" ]; then
    umask 022
fi


EXECUTABLE=litespeed
DESC="litespeed"
BASE_DIR=`dirname "$PROG"`
cd "$BASE_DIR"
BASE_DIR=`pwd`
RESTART_LOG="$BASE_DIR/../logs/lsrestart.log"
if [ ! -x "$BASE_DIR"/"$EXECUTABLE" ]; then
    echo "[ERROR] Cannot find $BASE_DIR/$EXECUTABLE"
    exit 1
fi
SYS_NAME=`uname -s`
if [ "x$SYS_NAME" = "xFreeBSD" ] || [ "x$SYS_NAME" = "xDarwin" ] ; then
    PS_CMD="ps -ax"
else
    PS_CMD="ps -ef"
fi

test_running()
{
RUNNING=0
if [ -f $PIDFILE ] ; then
    FPID=`cat $PIDFILE`
    if [ "x$FPID" != "x" ]; then
        kill -0 $FPID 2>/dev/null
        if [ $? -eq 0 ] ; then
            RUNNING=1
            PID=$FPID
        fi
    fi
fi
RESTARTING=0
if [ -f "$BASE_DIR"/"../admin/tmp/.restart" ]; then
    RESTARTING=1
fi
}

ret=0

killwatch()
{
        WATCH_PROCS=`$PS_CMD | grep wswatch.sh | grep -v grep | wc -l`
#        if [ $WATCH_PROCS -gt 0 ]; then
#                pkill wswatch.sh
#        fi
}


start()
{
    if [ -f "get_trial_key.sh" ]; then
        ./get_trial_key.sh
    fi
    killwatch
    if [ -f "$PIDFILE" ]; then
        PID=`cat $PIDFILE`
    else
        PID=""
    fi

    if [ -f "/proc/sys/net/core/somaxconn" ]; then
        SOMAXCONN=`cat /proc/sys/net/core/somaxconn`
        if [ $SOMAXCONN -lt 1024 ]; then
            echo "1024" 2>/dev/null > /proc/sys/net/core/somaxconn
        fi
    fi

    ./$EXECUTABLE
    ret=$?


    if [ $ret -eq 0 ]; then
        NEW_PID=`cat $PIDFILE`
        if [ "x$NEW_PID" = "x$PID" ] || [ "x$NEW_PID" = "x" ]; then
            sleep 1
            NEW_PID=`cat $PIDFILE`
        fi
        echo "[OK] $DESC: pid=$NEW_PID."
        test_running
        if [ "x$WSWATCH" = "x1" ]; then
            ./wswatch.sh &
        fi
    else
        echo "[ERROR] Failed to start $DESC!"
    fi
}


stop()
{
    killwatch
    kill -USR2 $PID
    kill $PID
    ret=$?
    if  [ $ret -eq 0 ]; then
#    if [ -f $PIDFILE ]; then
#        sleep 1
#    fi
        echo "[OK] $DESC: stopped."
    else
        echo "[ERROR] can not kill $DESC"
    fi
}


delay_stop()
{
    killwatch
    kill -USR2 $PID
    kill -HUP $PID
    ret=$?
    if  [ $ret -eq 0 ]; then
#    if [ -f $PIDFILE ]; then
#        sleep 1
#    fi
        echo "[OK] $DESC: graceful stop."
    else
        echo "[ERROR] can not kill $DESC"
    fi
}


do_restart()
{
    if [ $RUNNING -eq 1 ]; then
        kill -USR1 $PID
        ret=$?
        if  [ $ret -ne 0 ]; then
            echo "[ERROR] cannot gracefully restart $DESC"
        else
            echo "[OK] Send SIGUSR1 to $PID"
            sleep 1
        fi
    else
        start
    fi
}

log7080()
{
    if [ "x$SYS_NAME" = "xLinux" ]; then
        echo "checking port 7080 usage with netstat" >> $RESTART_LOG
        netstat -anp | grep 7080 >> $RESTART_LOG
        echo "checking port 7080 usage with lsof" >> $RESTART_LOG
        lsof -i TCP:7080 >> $RESTART_LOG
    fi
}

restart()
{
    SPID=$PID
    TRY=1
    if [ $RUNNING -eq 1 ]; then
        do_restart
        if [ $RESTARTING -eq 1 ]; then
            exit 0
        fi
        sleep 2
        test_running
    else
        if [ $RESTARTING -eq 1 ]; then
            if [ -f $GRACEFUL_PIDFILE ]; then
                GPID=`cat $GRACEFUL_PIDFILE`
                if [ "x$GPID" != 'x' ]; then
                    if [ $GPID -ne 0 ] && [ $GPID -ne 1 ]; then
                        pkill -9 $EXECUTABLE
                    fi
                fi
            fi
        fi
        start
        sleep 2
        test_running
    fi
    while [ $TRY -lt 15 ] && [ "x$PID" = "x$SPID" ]; do
        TRY=`expr $TRY + 1`
        sleep 1
        test_running
    done 

    if [ $RUNNING -eq 0 ]; then

        echo "LSWS does not restart properly, check port 7080" >> $RESTART_LOG
        #log7080
        pkill -9 $EXECUTABLE
        sleep 1
        echo "check port 7080 after kill all $EXECUTABLE processes " >> $RESTART_LOG
        #log7080
        start
    fi
        
}

reload()
{
    restart

#    kill -HUP $PID
#    ret=$?
#    if [ $ret -eq 0 ]; then
#        echo "[OK] $DESC: configuration reloaded"
#    else
#        echo "[ERROR] Can't send SIGHUP to $DESC"
#    fi
}

help() {
    echo $"Usage: $PROG {start|stop|restart|reload|condrestrt|try-restart|status|help}"
    cat <<EOF

start       - start web server
stop        - stop web server
restart     - gracefully restart web server with zero down time
reload      - same as restart
delay-stop  - stop web server after 2 seconds timeout
condrestart - gracefully restart web server if server is running
try-restart - same as condrestart
fullrestart - do full stop then start
status      - show service status
help        - this screen

EOF
}

test_running

date >> $RESTART_LOG
echo "$1, LSWS running: $RUNNING" >> $RESTART_LOG

case "$1" in 
    start|restart)
        restart
        ;;
    condrestart)
        if [ $RUNNING -eq 1 ]; then
            restart
        fi
        ;;
    fullrestart)
        if [ $RUNNING -eq 1 ]; then
            service lsws stop
            sleep 1
            test_running
            service lsws start
        fi
        ;;
    try-restart)
        if [ $RUNNING -eq 1 ]; then
            restart
            pkill wswatch.sh 2>/dev/null
            nohup ./wswatch.sh 2>/dev/null &
        fi
        ;;
    status)
        if [ $RUNNING -eq 1 ]; then
            echo "$DESC is running with PID $PID."
        else
            echo "[ERROR] $DESC is not running."
            ret=3
        fi
        ;;
    stop)
        if [ $RUNNING -eq 0 ]; then
            sleep 1
            test_running
        fi
        if [ $RUNNING -eq 1 ]; then
            stop
        else
            echo "[ERROR] $DESC is not running."
            ret=1
        fi
        ;;
    delay-stop)
        if [ $RUNNING -eq 0 ]; then
            sleep 1
            test_running
        fi
        if [ $RUNNING -eq 1 ]; then
            delay_stop
        else
            echo "[ERROR] $DESC is not running."
            ret=1
        fi
        ;;
    stophttpd)
        if [ $RUNNING -eq 1 ]; then
            kill $PID
        fi
        ;;
    reload|graceful)
        reload
        ;;
    *)
        help
        ret=3
        ;;
esac
exit $ret