killserver.sh 418 B

12345678910111213141516171819202122
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  4. cd "$SCRIPT_DIR"
  5. PID_FILE="server.pid"
  6. if [[ ! -f "$PID_FILE" ]]; then
  7. echo "No PID file found; server not running?"
  8. exit 1
  9. fi
  10. PID=$(cat "$PID_FILE")
  11. if kill -0 "$PID" >/dev/null 2>&1; then
  12. kill "$PID"
  13. sleep 1
  14. echo "Server (PID $PID) terminated."
  15. else
  16. echo "PID $PID is not running."
  17. fi
  18. rm -f "$PID_FILE"