Problem:
During restarting frr.service, it throws annoying warnings:
Cannot stop bgpd(and others): pid file not found.
Root Cause:
During restarting process, systemd uses "stop", and watchfrr
uses "restart".
Yes, watchfrr using "restart" is to avoid systemd failing to stop.
But it should be quiet.
Fix:
During restarting service, suppress these warnings from watchfrr.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
[ -z "$fail" -a -z "$pid" ] && fail="pid file is empty"
[ -n "$fail" ] || kill -0 "$pid" 2>/dev/null || fail="pid $pid not running"
- if [ -n "$fail" ]; then
+ if [ -n "$fail" ] && [ "$2" != "--quiet" ]; then
log_failure_msg "Cannot stop $dmninst: $fail"
return 1
fi
done
for dmninst in $reversed; do
- daemon_stop "$dmninst" &
+ daemon_stop "$dmninst" "$1" &
pids="$pids $!"
done
for pid in $pids; do
start) all_start;;
stop) all_stop;;
restart)
- all_stop
+ all_stop --quiet
all_start
;;
*) $cmd "$@";;