reload sing-box instead of restart

This commit is contained in:
Alireza Ahmadi
2024-07-07 23:37:03 +02:00
parent 96564f1f86
commit cb4a7fe6df
+13 -4
View File
@@ -20,7 +20,17 @@ terminateSingbox()
fi fi
} }
reloadSingbox()
{
if kill -0 $tokill > /dev/null 2>&1; then
kill -HUP $tokill
else
runSingbox
fi
}
trap terminateSingbox SIGINT SIGTERM SIGKILL trap terminateSingbox SIGINT SIGTERM SIGKILL
trap reloadSingbox SIGHUP
runSingbox runSingbox
@@ -32,13 +42,12 @@ do
echo "Signal received: $signal" echo "Signal received: $signal"
# Remove singnal file # Remove singnal file
rm -f signal >> /dev/null 2>&1 rm -f signal >> /dev/null 2>&1
case ${signal} in case ${signal} in
"stop") "stop")
terminateSingbox terminateSingbox
;; ;;
"restart") "restart")
terminateSingbox reloadSingbox
runSingbox
;; ;;
esac esac
fi fi
@@ -47,7 +56,7 @@ do
if ! kill -0 $tokill > /dev/null 2>&1; then if ! kill -0 $tokill > /dev/null 2>&1; then
if [ "$signal" != "stop" ]; then if [ "$signal" != "stop" ]; then
echo "Sing-Box with PID $tokill crashed. Breaking the loop..." echo "Sing-Box with PID $tokill crashed. Breaking the loop..."
break exit 1
fi fi
fi fi
done done