#!/bin/bash
# Filename    : picapport
# Version     : 2.0
# Date        : 20.09.2016
# Copyright   : (c) 2016 Contecon Software GmbH
# Description : starting script for starting PicApport as a daemon
# History     : 20.08.2015 - Initial version
#               20.09.2016 - revised  
 
### BEGIN INIT INFO
# Provides:             picapport
# Required-Start:       $remote_fs $syslog
# Required-Stop:        $remote_fs $syslog
# Default-Start:        2
# Default-Stop:         1
# Short-Description:    PicApport Server
### END INIT INFO
 
PATH=/usr/bin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=picapport
DESC="PicApport Daemon"
DAEMON_ARGS="-d -m -S $NAME bash /opt/picapport/StartPicApport.sh"

 
case "$1" in
    start)
    
    start-stop-daemon --test --start --pidfile "/var/run/$NAME.pid" --exec /usr/bin/screen -- $DAEMON_ARGS
    if [ $? -eq 0 ]; then
       echo -n "Starting $DESC: "
       start-stop-daemon --start --pidfile "/var/run/$NAME.pid" --exec /usr/bin/screen -- $DAEMON_ARGS 
       PID=$( ps -aux | grep 'StartPicApport.sh'  | grep --ignore-case 'screen' | awk '{print $2}' | head -1)
       echo $PID > /var/run/$NAME.pid
       echo "Daemon $NAME started. To access console type: screen -R $PID.picapport"
    else
       echo -n "Daemon $NAME already running. To access console type: screen -R "
       cat /var/run/$NAME.pid | awk '{print $1".picapport"}'
    fi
    ;;
    
    stop)
    echo -n "Stopping $DESC: "
    start-stop-daemon --stop −−retry=SIGTERM/30/KILL/10 --pidfile "/var/run/$NAME.pid" --exec /usr/bin/screen -- $DAEMON_ARGS 
    if [ $? -eq 0 ]; then
       echo "Daemon $NAME stopped."
    else 
       echo "Daemon $NAME was not started."
    fi
    [ -e  /var/run/$NAME.pid ] && rm /var/run/$NAME.pid
    ;;
    
  
    status)
    start-stop-daemon --status --pidfile "/var/run/$NAME.pid" --exec /usr/bin/screen -- $DAEMON_ARGS   
    if [ $? -eq 0 ]; then
       echo -n "Daemon $NAME is running. To access console type: screen -R "
       cat /var/run/$NAME.pid | awk '{print $1".picapport"}'
    else 
       echo "Daemon $NAME was not started."
    fi
    ;;
  
    *)
    echo "usage: /etc/init.d/picapport start|stop|status"
    ;;
    
esac
exit 0