killserver.sh 397 B

123456789101112131415161718
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. PIDFILE=${PIDFILE:-server.pid}
  4. stop_pid() {
  5. local pid="$1"
  6. if [ -n "$pid" ] && ps -p "$pid" > /dev/null 2>&1; then
  7. kill "$pid" 2>/dev/null || true
  8. sleep 1
  9. ps -p "$pid" > /dev/null 2>&1 && kill -9 "$pid" 2>/dev/null || true
  10. fi
  11. }
  12. if [ -f "$PIDFILE" ]; then
  13. PID=$(cat "$PIDFILE" 2>/dev/null || true)
  14. stop_pid "$PID"
  15. rm -f "$PIDFILE"
  16. fi