Опишите проблему.
После некоторой эксплуатации, заметил что возможен кейс когда adguard намертво зависает.
Причины не понятны, но зависает прям очень крепко
не работает DNS, не работает веб-морда, не пишется ничего в лог adh
/opt/etc/init.d/S99adguardhome status показывает alive
/opt/etc/init.d/S99adguardhome stop\restart выдает failed
Единственный рабочий вариант завершение процесса через- kill -9
После этого все успешно поднимается и работает
Моё предложение -
учесть в rc.func через 1 секунду проверку завершился ли процесс, если нет - завершать принудительно
stop() {
case "$ACTION" in
stop | restart)
echo -e -n "$ansi_white Shutting down $PROC... $ansi_std"
killall $PROC 2>/dev/null
COUNTER=0
LIMIT=10
while [ -n "`pidof $PROC`" -a "$COUNTER" -le "$LIMIT" ]; do
sleep 1;
COUNTER=$((COUNTER + 1))
done
# Принудительное завершение, если процесс все еще работает
if [ -n "`pidof $PROC`" ]; then
echo -e -n "$ansi_white Forcing shutdown of $PROC... $ansi_std"
killall -9 $PROC 2>/dev/null
COUNTER=0
while [ -n "`pidof $PROC`" -a "$COUNTER" -le "$LIMIT" ]; do
sleep 1;
COUNTER=$((COUNTER + 1))
done
fi
;;
kill)
echo -e -n "$ansi_white Killing $PROC... $ansi_std"
killall -9 $PROC 2>/dev/null
;;
esac
if [ -n "`pidof $PROC`" ]; then
echo -e " $ansi_red failed. $ansi_std"
return 255
else
echo -e " $ansi_green done. $ansi_std"
return 0
fi
}
Опишите проблему. После некоторой эксплуатации, заметил что возможен кейс когда adguard намертво зависает. Причины не понятны, но зависает прям очень крепко не работает DNS, не работает веб-морда, не пишется ничего в лог adh /opt/etc/init.d/S99adguardhome status показывает alive /opt/etc/init.d/S99adguardhome stop\restart выдает failed
Единственный рабочий вариант завершение процесса через- kill -9 После этого все успешно поднимается и работает
Моё предложение -