×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

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

  • Posts: 2247
  • Thank you received: 223
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.
The following user(s) said Thank You: Sébastien, Schreiber
9 years 1 month ago #3314

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

  • Posts: 112
  • Thank you received: 12
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: Stefan, Jeff Voight
9 years 1 week ago #3576

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

  • Posts: 48
  • Thank you received: 0
That's works perfect! I now have my second DSLR running on it's own RPi unattended. It just starts when I power on my Astro Photo rig and my Main RPi with the rest of the devices just connects to the server and use the camera!
 

  
2 years 5 months ago #76162
Attachments:

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

Time to create page: 0.472 seconds