Files
2026-07-20 20:49:36 +02:00

42 lines
999 B
Bash
Executable File

#!/bin/sh
set -eu
WEB_PID_FILE="/share/homes/mailcat/mailcat/run/mailcat_web.pid"
RM="/bin/rm"
if [ ! -f "$WEB_PID_FILE" ]; then
echo "mailcat web not running: no pid file"
exit 0
fi
pid=""
IFS= read -r pid < "$WEB_PID_FILE" || true
if [ -z "$pid" ]; then
"$RM" -f "$WEB_PID_FILE"
echo "mailcat web not running: empty pid file removed"
exit 0
fi
if kill -0 "$pid" 2>/dev/null; then
kill "$pid"
timeout=20
while [ "$timeout" -gt 0 ] && kill -0 "$pid" 2>/dev/null; do
sleep 1
timeout=$((timeout - 1))
done
if kill -0 "$pid" 2>/dev/null; then
echo "mailcat web still running after SIGTERM, sending SIGKILL: $pid"
kill -KILL "$pid" 2>/dev/null || true
timeout=5
while [ "$timeout" -gt 0 ] && kill -0 "$pid" 2>/dev/null; do
sleep 1
timeout=$((timeout - 1))
done
if kill -0 "$pid" 2>/dev/null; then
echo "mailcat web still running after SIGKILL: $pid"
exit 1
fi
fi
fi
"$RM" -f "$WEB_PID_FILE"
echo "mailcat web stopped"