d3e012f50b
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
18 lines
889 B
Bash
Executable File
18 lines
889 B
Bash
Executable File
#!/usr/bin/env bash
|
||
# `npm run dev` öncesi: önceki oturumdan yetim kalmış backend (8080) varsa kapat.
|
||
# concurrently -k, cargo watch'ı durdurur ama `cargo run`'ın başlattığı kakeibo süreci bazen
|
||
# sinyali almaz ve portu tutmaya devam eder → yeni sürüm açılamaz, eski kod çalışır.
|
||
# Yalnızca süreç adı "kakeibo" ise kapatır; başka bir uygulamaya dokunmaz.
|
||
PORT="${1:-8080}"
|
||
for pid in $(ss -ltnpH "sport = :$PORT" 2>/dev/null | grep -o 'pid=[0-9]*' | cut -d= -f2 | sort -u); do
|
||
name=$(cat "/proc/$pid/comm" 2>/dev/null)
|
||
if [ "$name" = "kakeibo" ]; then
|
||
echo "Eski backend kapatılıyor (pid $pid, port $PORT)"
|
||
kill "$pid" 2>/dev/null
|
||
for _ in 1 2 3 4 5 6 7 8 9 10; do kill -0 "$pid" 2>/dev/null || break; sleep 0.3; done
|
||
else
|
||
echo "Uyarı: $PORT portunu başka bir uygulama kullanıyor ($name, pid $pid); dokunulmadı." >&2
|
||
fi
|
||
done
|
||
exit 0
|