init.d script for shutterlinksort
This commit is contained in:
67
scripts/shutterlinksort-etc-init.d
Normal file
67
scripts/shutterlinksort-etc-init.d
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash /etc/rc.common
|
||||
# shutterlinksort.init
|
||||
# Copyright (C) 2025 reclusejay (James Blackmore)
|
||||
# OpenWrt init script for shutterlinksort
|
||||
|
||||
# shellcheck disable=SC2034 # START/STOP used in rc.common
|
||||
# START/STOP handled by /etc/rc.common
|
||||
START=96
|
||||
STOP=10
|
||||
|
||||
SCRIPT_NAME="shutterlinksort"
|
||||
LOCK_FILE="/var/lock/$SCRIPT_NAME"
|
||||
|
||||
start() {
|
||||
if [ -f "$LOCK_FILE" ]; then
|
||||
echo "$SCRIPT_NAME is already running (pid=$(cat "$LOCK_FILE"))"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "Starting $SCRIPT_NAME..."
|
||||
"$SCRIPT_NAME" >/dev/null 2>&1 &
|
||||
pid=$!
|
||||
|
||||
# Verify the process started successfully
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
echo "$pid" > "$LOCK_FILE"
|
||||
echo "$SCRIPT_NAME started with pid=$pid"
|
||||
else
|
||||
echo "Failed to start $SCRIPT_NAME"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ ! -f "$LOCK_FILE" ]; then
|
||||
echo "$SCRIPT_NAME not running"
|
||||
return 0
|
||||
fi
|
||||
|
||||
pid=$(cat "$LOCK_FILE")
|
||||
echo "Stopping $SCRIPT_NAME (pid=$pid)..."
|
||||
|
||||
if kill "$pid" 2>/dev/null; then
|
||||
sleep 1
|
||||
rm -f "$LOCK_FILE"
|
||||
echo "$SCRIPT_NAME stopped"
|
||||
else
|
||||
echo "Failed to stop $SCRIPT_NAME (process may not exist)"
|
||||
rm -f "$LOCK_FILE"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
restart() {
|
||||
echo "Restarting $SCRIPT_NAME..."
|
||||
stop
|
||||
sleep 2
|
||||
start
|
||||
}
|
||||
|
||||
boot() {
|
||||
start
|
||||
}
|
||||
|
||||
shutdown() {
|
||||
stop
|
||||
}
|
||||
Reference in New Issue
Block a user