| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #!/bin/bash
- ### BEGIN INIT INFO
- # Provides: openas2.d
- # Required-Start:
- # Required-Stop:
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Startup script to launch OpenAS2 application as a daemon
- # Description: This script can be used in any NIX based system that implements the init.d mechanism
- # The EXECUTABLE variable below must be set to point to the OpenAS2 startup script
- # See the OpenAS2HowTo.pdf for details on configuration checks for this mode of running OpenAS2
- ### END INIT INFO
- BASE_DIR=/usr/local/edi/OpenAS2
- SERVICE_NAME=OpenAS2
- EXECUTABLE=$BASE_DIR/bin/start-openas2.sh
- export PID_FILE=$BASE_DIR/bin/OpenAS2.pid
- THIS_SCRIPT_NAME=`basename $0`
- THIS_SCRIPT_EXEC=$0
- if [ "$THIS_SCRIPT_NAME" = "$0" ]; then
- THIS_SCRIPT_EXEC="/etc/init.d/$0"
- fi
- PID=""
- PID_FILE=$BASE_DIR/bin/OpenAS2.pid
- #PID=$(ps -ef | grep java | grep org.openas2.app.OpenAS2Server | awk '{print $2}')
- if [ -f $PID_FILE ]; then
- PID=`cat $PID_FILE`
- fi
- if [ ! -z $PID ]; then
- x=$(ps -p $PID 2>/dev/null)
- if [ "$?" = 1 ]; then
- PID=""
- echo "" > $PID_FILE
- fi
- fi
- case "$1" in
- start)
- echo "Starting $SERVICE_NAME ..."
- if [ -z $PID ]; then
- export OPENAS2_AS_DAEMON=true
- $EXECUTABLE
- RETVAL="$?"
- if [ "$RETVAL" = 0 ]; then
- echo "$SERVICE_NAME started ..."
- exit 0
- else
- echo "ERROR $SERVICE_NAME could not be started. Review logs"
- exit 1
- fi
- else
- echo "$SERVICE_NAME is already running ..."
- fi
- ;;
- stop|kill)
- if [ ! -z $PID ]; then
- echo "Attempting to stop $SERVICE_NAME..."
- kill $PID
- if [ "$?" = 0 ]; then
- echo "" > $PID_FILE
- echo "$SERVICE_NAME terminated ..."
- exit 0
- else
- echo "ERROR: $SERVICE_NAME failed to terminate. try force-stop"
- exit 1
- fi
- else
- echo "$SERVICE_NAME is not running ..."
- exit 0
- fi
- ;;
- force-stop)
- if [ ! -z $PID ]; then
- echo "Attempting to force termination of $SERVICE_NAME..."
- kill -9 $PID
- if [ "$?" = 0 ]; then
- echo "" > $PID_FILE
- echo "$SERVICE_NAME terminated ..."
- exit 0
- else
- echo "ERROR: $SERVICE_NAME failed to terminate. "
- exit 1
- fi
- else
- echo "$SERVICE_NAME is not running ..."
- exit 0
- fi
- ;;
- status)
- if [ -z $PID ]; then
- echo "$SERVICE_NAME is not running"
- else
- echo "$SERVICE_NAME is running"
- fi
- ;;
- force-reload|restart|reload)
- $THIS_SCRIPT_EXEC stop
- if [ ! -z $PID ]; then
- CNT=0
- while ps -p $PID 2>/dev/null; do
- sleep 1;CNT=$CNT+1;
- CNT=$((CNT+1)); if [ $CNT -ge 5 ]; then break; fi
- done
- if ps -p $PID 2>/dev/null; then
- echo "ERROR: Failed to stop $SERVICE_NAME"
- exit 1
- else
- echo "" > $PID_FILE
- PID=""
- fi
- fi
- $THIS_SCRIPT_EXEC start
- ;;
- *)
- echo "Usage: $0 {status|start|stop|kill|force-stop|restart|reload|force-reload}"
- exit 1
- ;;
- esac
|