#!/bin/sh # /etc/rc.d/rc.sdrplay # Start/stop/restart sdrplay_apiService BINARY="/usr/bin/sdrplay_apiService" PIDFILE="/var/run/sdrplay_apiService.pid" sdrplay_start() { if [ -x "$BINARY" ]; then if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") 2>/dev/null; then echo "sdrplay_apiService is already running." else echo "Starting sdrplay_apiService: $BINARY" # Run in background if the binary does not daemonize automatically $BINARY > /dev/null 2>&1 & echo $! > "$PIDFILE" fi else echo "Executable $BINARY not found." fi } sdrplay_stop() { if [ -f "$PIDFILE" ]; then echo "Stopping sdrplay_apiService..." kill $(cat "$PIDFILE") 2>/dev/null rm -f "$PIDFILE" else # Fallback if pidfile missing echo "Stopping sdrplay_apiService via killall..." killall sdrplay_apiService 2>/dev/null fi } sdrplay_restart() { sdrplay_stop sleep 1 sdrplay_start } case "$1" in 'start') sdrplay_start ;; 'stop') sdrplay_stop ;; 'restart') sdrplay_restart ;; *) echo "usage $0 start|stop|restart" ;; esac