Files
ai_dianshang/run.sh

39 lines
1.1 KiB
Bash
Raw Permalink Normal View History

2025-11-28 15:18:10 +08:00
#!/bin/bash
PORT=8060
echo "=== 停止端口 $PORT 上的 Go 服务 ==="
# 直接查找监听 8060 端口的 Go 进程
GO_PID=$(ps aux | grep "go run cmd/main.go" | grep -v grep | awk '{print $2}')
if [ -n "$GO_PID" ]; then
echo "找到 Go 服务进程: $GO_PID"
sudo kill -9 $GO_PID
echo "Go 服务进程已终止"
sleep 2
fi
# 无论是否找到 Go 进程,都强制杀死占用端口的任何进程
echo "强制清理端口 $PORT..."
sudo fuser -k $PORT/tcp 2>/dev/null || true
# 使用多种方法确保端口释放
sudo pkill -f ":$PORT" 2>/dev/null || true
# 等待端口释放
sleep 3
echo "=== 启动新的 Go 服务 ==="
nohup go run cmd/main.go > ai_dianshang.log 2>&1 &
# 验证启动
sleep 5
if ps aux | grep "go run cmd/main.go" | grep -v grep > /dev/null; then
echo "✅ Go 服务启动成功"
echo "📋 日志文件: ai_dianshang.log"
echo "👀 查看日志: tail -f ai_dianshang.log"
echo "🌐 服务地址: http://localhost:$PORT"
else
echo "❌ Go 服务启动失败,请检查日志"
tail -n 20 ai_dianshang.log
fi