File indexing completed on 2026-04-10 08:39:08
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 ARGV="$@"
0015
0016
0017
0018
0019
0020
0021 @@virtual_env_setup@@
0022
0023
0024 PROGNAME='python -u @@install_purelib@@/pandaserver/daemons/master.py'
0025
0026
0027 if [[ -z "${PANDA_LOCK_DIR}" ]]; then
0028 PIDFILE='/var/log/panda/panda_daemon.pid'
0029 LOCKFILE='/var/lock/subsys/panda_daemon'
0030 else
0031 PIDFILE=${PANDA_LOCK_DIR}'/panda_daemon.pid'
0032 LOCKFILE=${PANDA_LOCK_DIR}'/panda_daemon.lock'
0033 fi
0034
0035
0036 LOGSTDOUT='/var/log/panda/panda_daemon_stdout.log'
0037 LOGSTDERR='/var/log/panda/panda_daemon_stderr.log'
0038
0039
0040 if [ -r /etc/sysconfig/panda_server ]; then
0041 . /etc/sysconfig/panda_server
0042 fi
0043
0044
0045
0046 function check_enable() {
0047 command_to_check='from pandaserver.config import daemon_config; print(daemon_config.enable)'
0048 return_string=$(python -u -c "${command_to_check}")
0049 if [ "$return_string" == "True" ]; then
0050 return 0
0051 else
0052 return 1
0053 fi
0054 }
0055
0056
0057
0058 ERROR=0
0059 if [ "x$ARGV" = "x" ] ; then
0060 ARGV="-h"
0061 fi
0062
0063 case $ARGV in
0064 start)
0065 check_enable
0066 if [ $? -ne 0 ]; then
0067 echo "PanDA Daemon is not enabled. Do nothing..."
0068 exit $ERROR
0069 fi
0070 if [ -f $LOCKFILE ]; then
0071 echo "ERROR: PanDA Daemon is already running with lockfile:$LOCKFILE"
0072 else
0073 echo "start PanDA Daemon"
0074 for itry in `seq 1 5`
0075 do
0076 echo "trying $itry"
0077 $PROGNAME --pidfile $PIDFILE >> $LOGSTDOUT 2>> $LOGSTDERR
0078 touch $LOCKFILE
0079 sleep 5
0080 ps -p `cat $PIDFILE` > /dev/null
0081 ERROR=$?
0082 if [ $ERROR -eq 0 ]; then
0083 echo "succeeded"
0084 break
0085 else
0086 echo "failed with $ERROR"
0087 rm -f $LOCKFILE
0088 fi
0089 done
0090 fi
0091 ;;
0092 stop)
0093 echo "stop PanDA Daemon"
0094 for itry in `seq 1 5`
0095 do
0096 echo "trying $itry"
0097 if [ ! -f $PIDFILE ]; then
0098 echo "pidfile $PIDFILE does not exist; skipped"
0099 rm -f $LOCKFILE
0100 ERROR=2
0101 exit $ERROR
0102 fi
0103 if [[ $itry -gt 3 ]]; then
0104 echo "try force kill..."
0105 pkill -9 -P `cat $PIDFILE`
0106 else
0107 kill `cat $PIDFILE`
0108 fi
0109 sleep 5
0110 ps -p `cat $PIDFILE` > /dev/null
0111 ERROR=$?
0112 if [ $ERROR -eq 1 ]; then
0113 pkill -9 -P `cat $PIDFILE`
0114 echo "succeeded"
0115 rm -f $PIDFILE ${PIDFILE}.lock $LOCKFILE
0116 break
0117 else
0118 echo "failed with $ERROR"
0119 sleep 5
0120 fi
0121 done
0122 ;;
0123 *)
0124 echo "ERROR: unknown command $ARGV"
0125 ERROR=1
0126 esac
0127
0128 exit $ERROR