|
#!/bin/sh |
|
|
|
### BEGIN INIT INFO |
|
# Provides: vlmcsd |
|
# Required-Start: $remote_fs $syslog |
|
# Required-Stop: $remote_fs $syslog |
|
# Default-Start: 2 3 4 5 |
|
# Default-Stop: 0 1 6 |
|
# Short-Description: KMS server |
|
### END INIT INFO |
|
|
|
# Author: Hotbird64 |
|
# |
|
|
|
# Do NOT "set -e" |
|
|
|
if [ `id -u` != 0 ]; then |
|
echo "Must be root to run this" |
|
exit 1 |
|
fi |
|
|
|
PATH=/usr/local/sbin:/sbin:/usr/sbin:/usr/local/bin:/bin:/usr/bin |
|
DESC="Microsoft KMS daemon" |
|
|
|
NAME=vlmcsd |
|
DAEMON=/usr/local/sbin/$NAME |
|
PIDFILE=/var/run/$NAME.pid |
|
SCRIPTNAME=/etc/init.d/$NAME |
|
LOGFILE=syslog |
|
PORT=1688 |
|
|
|
# Read configuration variable file if it is present |
|
[ -r /etc/default/$NAME ] && . /etc/default/$NAME |
|
|
|
# Exit if the package is not installed |
|
[ -x "$DAEMON" ] || exit 0 |
|
|
|
DAEMON_ARGS="-l $LOGFILE -p $PIDFILE -P $PORT" |
|
|
|
# Load the VERBOSE setting and other rcS variables |
|
. /lib/init/vars.sh |
|
|
|
# Define LSB log_* functions. |
|
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present |
|
# and status_of_proc is working. |
|
. /lib/lsb/init-functions |
|
|
|
# |
|
# Function that starts the daemon/service |
|
# |
|
do_start() |
|
{ |
|
status="0" |
|
pidofproc -p $PIDFILE $DAEMON >/dev/null || status="$?" |
|
|
|
if [ $status -eq 0 ]; then |
|
log_action_msg "already running" |
|
return 3 |
|
fi |
|
|
|
$DAEMON $DAEMON_ARGS $EXTRA_ARGS |
|
return $? |
|
} |
|
|
|
# |
|
# Function that stops the daemon/service |
|
# |
|
do_stop() |
|
{ |
|
if [ ! -f $PIDFILE ]; then |
|
log_action_msg "service not running" |
|
return 4 |
|
fi |
|
|
|
kill `cat $PIDFILE` |
|
return $? |
|
} |
|
|
|
case "$1" in |
|
start) |
|
log_daemon_msg "Starting $DESC" "$NAME" |
|
do_start |
|
case "$?" in |
|
0) log_end_msg 0 ;; |
|
*) log_end_msg 1 ;; |
|
esac |
|
;; |
|
stop) |
|
log_daemon_msg "Stopping $DESC" "$NAME" |
|
do_stop |
|
case "$?" in |
|
0) log_end_msg 0 ;; |
|
*) log_end_msg 1 ;; |
|
esac |
|
;; |
|
restart|force-reload|reload) |
|
log_daemon_msg "Restarting $DESC" "$NAME" |
|
do_stop |
|
sleep 1 |
|
do_start |
|
case "$?" in |
|
0) log_end_msg 0 ;; |
|
*) log_end_msg 1 ;; # Failed to start |
|
esac |
|
;; |
|
status) |
|
status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? |
|
;; |
|
*) |
|
echo "Usage: $SCRIPTNAME {start|stop|status|reload|restart|force-reload}" >&2 |
|
exit 3 |
|
;; |
|
esac |