| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/usr/bin/env bash
- set -euo pipefail
- PORT="${1:-8570}"
- echo "===================================================="
- echo "🧹 trader-mcp killserver.sh (port $PORT)"
- echo "===================================================="
- do_kill_pids() {
- local pids="$1"
- if [ -z "$pids" ]; then
- return 0
- fi
- echo "Killing PIDs:" "$pids"
- # shellcheck disable=SC2086
- kill -9 $pids >/dev/null 2>&1 || true
- }
- # 1) lsof (precise)
- if command -v lsof >/dev/null 2>&1; then
- PIDS=$(lsof -t -i tcp:"$PORT" 2>/dev/null || true)
- if [ -n "$PIDS" ]; then
- echo "Found listeners via lsof."
- do_kill_pids "$PIDS"
- else
- echo "No listeners found via lsof."
- fi
- else
- echo "lsof not available."
- fi
- # 2) fuser (fallback)
- if command -v fuser >/dev/null 2>&1; then
- echo "Checking via fuser..."
- if fuser -n tcp "$PORT" >/dev/null 2>&1; then
- echo "Listener(s) still present. Killing via fuser."
- fuser -k -n tcp "$PORT" >/dev/null 2>&1 || true
- else
- echo "No listeners remaining via fuser."
- fi
- else
- echo "fuser not available."
- fi
- echo "Done."
|