123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- #!/bin/sh
- # Licensed to the Apache Software Foundation (ASF) under one or more
- # contributor license agreements. See the NOTICE file distributed with
- # this work for additional information regarding copyright ownership.
- # The ASF licenses this file to You under the Apache License, Version 2.0
- # (the "License"); you may not use this file except in compliance with
- # the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- #
- # Karaf control script
- #
- # chkconfig: - 80 20
- # description: Karaf startup script
- # processname: ${KARAF_SERVICE_NAME}
- # pidfile: ${KARAF_SERVICE_PIDFILE}
- # config: ${KARAF_SERVICE_CONF}
- #
- # Source function library.
- . /etc/init.d/functions
- # Load Java configuration.
- [ -r /etc/java/java.conf ] && . /etc/java/java.conf
- export JAVA_HOME
- if [ -r "${KARAF_SERVICE_CONF}" ]; then
- . "${KARAF_SERVICE_CONF}"
- else
- echo "Error KARAF_SERVICE_CONF not defined"
- exit -1
- fi
- if [ -z "$STARTUP_WAIT" ]; then
- STARTUP_WAIT=30
- fi
- if [ -z "$SHUTDOWN_WAIT" ]; then
- SHUTDOWN_WAIT=30
- fi
- prog=${KARAF_SERVICE_NAME}
- currenttime=$(date +%s%N | cut -b1-13)
- start() {
- echo -n "Starting $prog: "
- if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
- read ppid < "$KARAF_SERVICE_PIDFILE"
- if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
- echo -n "$prog is already running"
- failure
- echo
- return 1
- else
- rm -f "$KARAF_SERVICE_PIDFILE"
- fi
- fi
- LOG_PATH=`dirname "$KARAF_SERVICE_LOG"`
- mkdir -p "$LOG_PATH"
- cat /dev/null > "$KARAF_SERVICE_LOG"
- chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$KARAF_SERVICE_LOG"
- PID_PATH=`dirname "$KARAF_SERVICE_PIDFILE"`
- mkdir -p "$PID_PATH"
- chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$PID_PATH" || true
- if [ ! -z "$KARAF_SERVICE_USER" ]; then
- if [ -r /etc/rc.d/init.d/functions ]; then
- daemon \
- --user="$KARAF_SERVICE_USER" \
- --pidfile="$KARAF_SERVICE_PIDFILE" \
- " { \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" daemon >> \"$KARAF_SERVICE_LOG\" 2>&1 & } ; echo \$! >| \"$KARAF_SERVICE_PIDFILE\" "
- else
- su - $KARAF_SERVICE_USER \
- -c " { \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" daemon >> \"$KARAF_SERVICE_LOG\" 2>&1 & } ; echo \$! >| \"$KARAF_SERVICE_PIDFILE\" "
- fi
- if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
- chown $KARAF_SERVICE_USER:$KARAF_SERVICE_GROUP "$KARAF_SERVICE_PIDFILE"
- fi
- fi
- RETVAL=$?
- echo
- if [ $RETVAL -eq 0 ]; then
- touch $KARAF_LOCKFILE
- fi
- return $RETVAL
- }
- stop() {
- echo -n $"Stopping $prog: "
- count=0;
- if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
- read kpid < "$KARAF_SERVICE_PIDFILE"
- let kwait=$SHUTDOWN_WAIT
- # Try issuing SIGTERM
- su - $KARAF_SERVICE_USER \
- -c "export JAVA_HOME=$JAVA_HOME; \"$KARAF_SERVICE_PATH/bin/$KARAF_SERVICE_EXECUTABLE\" stop"
- until [ `ps --pid $kpid 2> /dev/null | grep -c $kpid 2> /dev/null` -eq '0' ] || [ $count -gt $kwait ]
- do
- sleep 1
- let count=$count+1;
- done
- if [ $count -gt $kwait ]; then
- kill -9 $kpid
- fi
- fi
- rm -f "$KARAF_SERVICE_PIDFILE"
- rm -f "$KARAF_LOCKFILE"
- success
- echo
- }
- status() {
- if [ -f "$KARAF_SERVICE_PIDFILE" ]; then
- read ppid < "$KARAF_SERVICE_PIDFILE"
- if [ `ps --pid $ppid 2> /dev/null | grep -c $ppid 2> /dev/null` -eq '1' ]; then
- echo "$prog is running (pid $ppid)"
- return 0
- else
- echo "$prog dead but pid file exists"
- return 1
- fi
- fi
- echo "$prog is not running"
- return 3
- }
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- $0 stop
- $0 start
- ;;
- status)
- status
- ;;
- *)
- ## If no parameters are given, print which are avaiable.
- echo "Usage: $0 {start|stop|status|restart}"
- exit 1
- ;;
- esac
|