1#! /bin/sh 2### BEGIN INIT INFO 3# Provides: openxpkid 4# Required-Start: $local_fs $webserver mysql 5# Required-Stop: $local_fs $webserver mysql 6# Default-Start: 2 3 4 5 7# Default-Stop: S 0 1 6 8# Short-Description: Start and stop the OpenXPKI backend daemon 9# Description: Controls the OpenXPKI backend daemon 10### END INIT INFO 11 12# Author: OpenXPKI Foundation <debian@openxpki.org>. 13# 14# Do NOT "set -e" 15 16# PATH should only include /usr/* if it runs after the mountnfs.sh script 17PATH=/usr/sbin:/usr/bin:/sbin:/bin 18DESC="OpenXPKI daemon" 19NAME=openxpki 20DAEMON=/usr/bin/openxpkictl 21PIDFILE=/var/run/openxpkid.pid 22SCRIPTNAME=/etc/init.d/openxpkid 23 24# Exit if the package is not installed 25[ -x "$DAEMON" ] || exit 0 26 27# Read configuration variable file if it is present 28[ -r /etc/default/$NAME ] && . /etc/default/$NAME 29 30# Load the VERBOSE setting and other rcS variables 31. /lib/init/vars.sh 32 33# Define LSB log_* functions. 34# Depend on lsb-base (>= 3.2-14) to ensure that this file is present. 35. /lib/lsb/init-functions 36 37# 38# Function that starts the daemon/service 39# 40# The openxpkictl script takes care of almost all issues and does child 41# cleanup, etc so please use it and do not use start-stop-daemon 42 43do_start() 44{ 45 $DAEMON start 46} 47 48# 49# Function that stops the daemon/service 50# 51do_stop() 52{ 53 # Return 54 # 0 if daemon has been stopped 55 # 1 if daemon was already stopped 56 # 2 if daemon could not be stopped 57 $DAEMON stop 58 RETVAL="$?" 59 return "$RETVAL" 60} 61 62# 63# Function that sends a SIGHUP to the daemon/service 64# 65do_reload() { 66 $DAEMON reload 67 return 0 68} 69 70case "$1" in 71 start) 72 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" 73 do_start 74 case "$?" in 75 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 76 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 77 esac 78 ;; 79 stop) 80 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" 81 do_stop 82 case "$?" in 83 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 84 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 85 esac 86 ;; 87 #reload|force-reload) 88 # 89 # If do_reload() is not implemented then leave this commented out 90 # and leave 'force-reload' as an alias for 'restart'. 91 # 92 #log_daemon_msg "Reloading $DESC" "$NAME" 93 #do_reload 94 #log_end_msg $? 95 #;; 96 restart|force-reload) 97 # 98 # If the "reload" option is implemented then remove the 99 # 'force-reload' alias 100 # 101 log_daemon_msg "Restarting $DESC" "$NAME" 102 do_stop 103 case "$?" in 104 0|1) 105 do_start 106 case "$?" in 107 0) log_end_msg 0 ;; 108 1) log_end_msg 1 ;; # Old process is still running 109 *) log_end_msg 1 ;; # Failed to start 110 esac 111 ;; 112 *) 113 # Failed to stop 114 log_end_msg 1 115 ;; 116 esac 117 ;; 118 *) 119 #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 120 echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 121 exit 3 122 ;; 123esac 124 125: 126