×
INDI Library v1.8.6 Released (21 Aug 2020)

August 2020 release of INDI Library v1.8.6 introduces new drivers while providing fixes and improvements to existing devices and core framework.

indi start up script (/etc/init.d)

5 years 7 months ago
Gonzothegreat
Administrator
Administrator
Posts: 1881
Karma: 6
More
Topic Author
indi start up script (/etc/init.d) #3314
Thought I would share the script I'm using to start/stop the indiserver on my Odroid (will work on pretty much any Linux disto I believe).

#!/bin/sh
### BEGIN INIT INFO
# Provides:          <NAME>
# Required-Start:    $local_fs $network $named $time $syslog
# Required-Stop:     $local_fs $network $named $time $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Indi Server startup script
### END INIT INFO

SCRIPT="indiserver indi_atik_ccd indi_qhy_ccd indi_sx_wheel indi_fcusb_focuser indi_eqmod_telescope"
RUNAS=root
NAME=IndiServer

PIDFILE=/var/run/$NAME.pid
LOGFILE=/var/log/$NAME.log

start() {
  if [ -f $PIDFILE ] && kill -0 $(cat $PIDFILE); then
    echo 'Service already running' >&2
    return 1
  fi
  echo 'Starting service…' >&2
  local CMD="$SCRIPT &>> \"$LOGFILE\" & echo \$!"
  su -c "$CMD" $RUNAS > "$PIDFILE"
  echo 'Service started' >&2
}

stop() {
  if [ ! -f "$PIDFILE" ] || ! kill -0 $(cat "$PIDFILE"); then
    echo 'Service not running' >&2
    return 1
  fi
  echo 'Stopping service…' >&2
  kill -15 $(cat "$PIDFILE") && rm -f "$PIDFILE"
  echo 'Service stopped' >&2
}

uninstall() {
  echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] "
  local SURE
  read SURE
  if [ "$SURE" = "yes" ]; then
    stop
    rm -f "$PIDFILE"
    echo "Notice: log file was not removed: '$LOGFILE'" >&2
    update-rc.d -f <NAME> remove
    rm -fv "$0"
  fi
}

status() {
        printf "%-50s" "Checking $NAME..."
    if [ -f $PIDFILE ]; then
        PID=$(cat $PIDFILE)
            if [ -z "$(ps axf | grep ${PID} | grep -v grep)" ]; then
                printf "%s\n" "The process appears to be dead but pidfile still exists"
            else
                echo "Running, the PID is $PID"
            fi
    else
        printf "%s\n" "Service not running"
    fi
}


case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    status
    ;;
  uninstall)
    uninstall
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|status|restart|uninstall}"
esac


Someone might find the above useful.
You do need to edit the line "SCRIPT" and alter the command with whatever indiserver you are running.

Kstars Mac osx
Odroid C1 running indiserver (kept up-to-date with apt-get update/upgrade)
Megrez72 / HEQ5 pro / QHY5L-II-M (OAG) / Atik 314L+ / Gerd Neumann drawer
The following user(s) said Thank You broadcastyourseb, Schreiber

Please Log in or Create an account to join the conversation.

5 years 6 months ago
broadcastyourseb
Expert Boarder
Expert Boarder
Posts: 118
More
indi start up script (/etc/init.d) #3576
Good job, thank you Gonzothegreat

I create mine in /etc/init.d/indi and then :
chmod 755 /etc/init.d/indi
update-rc.d indi defaults

Now, I plug my stuff, I power my Raspberry, Indi starts himself and voilà !

Linux Mint 19 Cinnamon using PPA for latest KStars-bleeding and INDI
Raspberry Pi 3 B+ with StellarMate
Atik 314E - ASI120M - CG5 with Celestron C9.25
The following user(s) said Thank You penguin_a_geek, Jeff Voight

Please Log in or Create an account to join the conversation.

Time to create page: 0.464 seconds