#!/bin/ksh daemon="/usr/local/share/furt/scripts/start.sh" daemon_user="_furt" daemon_cwd="/usr/local/share/furt" . /etc/rc.d/rc.subr # PID-File location pidfile="/var/run/furt/furt.pid" # Custom rc_check function (PID-File based) rc_check() { [ -f "$pidfile" ] && kill -0 $(cat "$pidfile") 2>/dev/null } # Custom rc_stop function (PID-File based) rc_stop() { if [ -f "$pidfile" ]; then local _pid=$(cat "$pidfile") echo "Stopping furt (PID: $_pid)" kill "$_pid" 2>/dev/null # Wait for process to die local _timeout=10 while [ $_timeout -gt 0 ] && kill -0 "$_pid" 2>/dev/null; do sleep 1 _timeout=$((_timeout - 1)) done # Force kill if still running if kill -0 "$_pid" 2>/dev/null; then echo "Force killing furt (PID: $_pid)" kill -9 "$_pid" 2>/dev/null fi rm -f "$pidfile" echo "furt stopped" else echo "furt not running (no PID-File)" fi } # Custom rc_reload function (signal-based) rc_reload() { if rc_check; then local _pid=$(cat "$pidfile") echo "Reloading furt configuration (PID: $_pid)" kill -HUP "$_pid" else echo "furt not running" return 1 fi } rc_cmd $1