| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 | 
							- #!/bin/bash
 
- ### BEGIN INIT INFO
 
- # Provides:          KMS Emulator
 
- # Required-Start:    $network $local_fs $remote_fs
 
- # Required-Stop:     $network $local_fs $remote_fs
 
- # Default-Start:     2 3 4 5
 
- # Default-Stop:      0 1 6
 
- # Short-Description: Build yourself KMS Server
 
- # Description:       Start or stop the KMS Server
 
- ### END INIT INFO
 
- # Author: Teddysun <[email protected]>
 
- NAME="KMS Server"
 
- DAEMON=/usr/bin/vlmcsd
 
- PID_DIR=/var/run
 
- PID_FILE=$PID_DIR/vlmcsd.pid
 
- LOG_DIR=/var/log
 
- LOG_FILE=$LOG_DIR/vlmcsd.log
 
- RET_VAL=0
 
- [ -x $DAEMON ] || exit 0
 
- if [ ! -d $PID_DIR ]; then
 
-     mkdir -p $PID_DIR
 
-     if [ $? -ne 0 ]; then
 
-         echo "Creating PID directory $PID_DIR failed"
 
-         exit 1
 
-     fi
 
- fi
 
- if [ ! -d $LOG_DIR ]; then
 
-     mkdir -p $LOG_DIR
 
-     if [ $? -ne 0 ]; then
 
-         echo "Creating LOG directory $LOG_DIR failed"
 
-         exit 1
 
-     fi
 
- fi
 
- check_running() {
 
-     if [ -r $PID_FILE ]; then
 
-         read PID < $PID_FILE
 
-         if [ -d "/proc/$PID" ]; then
 
-             return 0
 
-         else
 
-             rm -f $PID_FILE
 
-             return 1
 
-         fi
 
-     else
 
-         return 2
 
-     fi
 
- }
 
- do_status() {
 
-     check_running
 
-     case $? in
 
-         0)
 
-         echo "$NAME (pid $PID) is running..."
 
-         ;;
 
-         1|2)
 
-         echo "$NAME is stopped"
 
-         RET_VAL=1
 
-         ;;
 
-     esac
 
- }
 
- do_start() {
 
-     if check_running; then
 
-         echo "$NAME (pid $PID) is already running..."
 
-         return 0
 
-     fi
 
-     $DAEMON -p $PID_FILE -l $LOG_FILE
 
-     sleep 0.3
 
-     if check_running; then
 
-         echo "Starting $NAME success"
 
-     else
 
-         echo "Starting $NAME failed"
 
-         RET_VAL=1
 
-     fi
 
- }
 
- do_stop() {
 
-     if check_running; then
 
-         kill -9 $PID
 
-         rm -f $PID_FILE
 
-         echo "Stopping $NAME success"
 
-     else
 
-         echo "$NAME is stopped"
 
-         RET_VAL=1
 
-     fi
 
- }
 
- do_restart() {
 
-     do_stop
 
-     do_start
 
- }
 
- case "$1" in
 
-     start|stop|restart|status)
 
-     do_$1
 
-     ;;
 
-     *)
 
-     echo "Usage: $0 { start | stop | restart | status }"
 
-     RET_VAL=1
 
-     ;;
 
- esac
 
- exit $RET_VAL
 
 
  |