ultimate docker solution

This commit is contained in:
Alireza Ahmadi
2024-04-18 22:34:38 +02:00
parent c1c05c4863
commit 3d263d500f
10 changed files with 156 additions and 13 deletions
+45
View File
@@ -0,0 +1,45 @@
#!/bin/bash
set -e
tokill=$$
runSingbox(){
./sing-box run &
tokill=$!
}
terminateSingbox()
{
if kill -0 $tokill > /dev/null 2>&1; then
echo "Terminating singbox PID=$tokill"
kill $tokill
while kill -0 $tokill > /dev/null 2>&1; do
sleep 1
done
fi
}
trap terminateSingbox SIGINT SIGTERM SIGKILL
runSingbox
while true
do
sleep 5
if [ -f "signal" ]; then
signal=`cat signal`
echo "Signal received: $signal"
# Remove singnal file
rm -f signal >> /dev/null 2>&1
case ${signal} in
"stop")
terminateSingbox
;;
"restart")
terminateSingbox
runSingbox
;;
esac
fi
done