point / kill_port.sh
eithney
Enable port reuse in TCP server to prevent "Address already in use" errors
04909fd
Raw
History Blame Contribute Delete
878 Bytes
#!/bin/bash
# 端口清理工具
# 使用方法: ./kill_port.sh [端口号]
PORT=${1:-7860}
echo "🔍 检查端口 $PORT 的占用情况..."
# 查找占用端口的进程
PID=$(lsof -ti:$PORT 2>/dev/null)
if [ -z "$PID" ]; then
echo "✅ 端口 $PORT 当前未被占用"
exit 0
fi
echo "⚠️ 发现进程占用端口 $PORT"
echo "进程信息:"
lsof -i:$PORT
echo ""
read -p "是否要杀死这些进程? (y/N): " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "🔫 正在杀死进程..."
kill -9 $PID
sleep 1
# 再次检查
NEW_PID=$(lsof -ti:$PORT 2>/dev/null)
if [ -z "$NEW_PID" ]; then
echo "✅ 端口 $PORT 已成功释放"
else
echo "❌ 端口 $PORT 仍被占用,可能需要 root 权限"
echo "💡 尝试运行: sudo ./kill_port.sh $PORT"
fi
else
echo "❌ 操作已取消"
fi