init.d: do not use pgrep for firmwares compatibility

This commit is contained in:
bol-van 2024-11-23 10:58:46 +03:00
parent 033043bdc0
commit 4856be4ef1

View File

@ -167,9 +167,15 @@ run_daemon()
# use $PIDDIR/$DAEMONBASE$1.pid as pidfile # use $PIDDIR/$DAEMONBASE$1.pid as pidfile
local DAEMONBASE="$(basename "$2")" local DAEMONBASE="$(basename "$2")"
local PIDFILE=$PIDDIR/$DAEMONBASE$1.pid local PID= PIDFILE=$PIDDIR/$DAEMONBASE$1.pid
echo "Starting daemon $1: $2 $3" echo "Starting daemon $1: $2 $3"
if [ -f "$PIDFILE" ] && pgrep -F "$PIDFILE" "$DAEMONBASE" >/dev/null; then
[ -f "$PIDFILE" ] && {
read PID <"$PIDFILE"
[ -d "/proc/$PID" ] || PID=
}
if [ -n "$PID" ]; then
echo already running echo already running
else else
"$2" $3 >/dev/null & "$2" $3 >/dev/null &
@ -188,11 +194,8 @@ stop_daemon()
# $2 - daemon # $2 - daemon
# use $PIDDIR/$DAEMONBASE$1.pid as pidfile # use $PIDDIR/$DAEMONBASE$1.pid as pidfile
local DAEMONBASE="$(basename "$2")" local DAEMONBASE="$(basename "$2")"
local PIDFILE=$PIDDIR/$DAEMONBASE$1.pid local PID PIDFILE=$PIDDIR/$DAEMONBASE$1.pid
echo "Stopping daemon $1: $2" echo "Stopping daemon $1: $2"
if exists start-stop-daemon ; then
start-stop-daemon -K -p "$PIDFILE" -x "$2"
else
if [ -f "$PIDFILE" ]; then if [ -f "$PIDFILE" ]; then
read PID <"$PIDFILE" read PID <"$PIDFILE"
kill $PID kill $PID
@ -200,7 +203,6 @@ stop_daemon()
else else
echo no pidfile : $PIDFILE echo no pidfile : $PIDFILE
fi fi
fi
} }
do_daemon() do_daemon()
{ {