Метод остановки выглядит следующим образом:
stop() {
echo 'Stopping service…' >&2
kill $(cat "$PIDFILE") && rm -f "$PIDFILE"
echo 'Service stopped' >&2
}
Метод запуска выглядит следующим образом:
RUNAS=abc-service
start() {
if [ -f "$PIDFILE" ] ; then
echo 'Service already running' >&2
return 1
fi
echo 'Starting service…' >&2
local CMD="$SCRIPT > \"$LOGFILE\" 2>&1 ; echo \$!"
su -c "$CMD" $RUNAS > "$PIDFILE" &
echo 'Service started' >&2
}
После выполнения команды остановки PID необходимо удалить явно, используя
rm -rf /var/run/abc.pid
Как это можно исправить?