51 lines
2.0 KiB
PowerShell
51 lines
2.0 KiB
PowerShell
# CloudNest 本地服务清理脚本
|
|
# CloudNest Local Services Cleanup Script
|
|
#
|
|
# 用法 / Usage: .\stop-local.ps1
|
|
# 停止所有本地运行的 auth-service、file-service、go 进程
|
|
|
|
$ErrorActionPreference = "Continue"
|
|
|
|
Write-Host "=== CloudNest 服务清理 ===" -ForegroundColor Cyan
|
|
|
|
# 查找端口占用 / Find port usage
|
|
Write-Host "[信息] 检查端口占用..." -ForegroundColor Yellow
|
|
$ports = Get-NetTCPConnection -LocalPort 8080,8081,8082 -ErrorAction SilentlyContinue
|
|
if ($ports) {
|
|
$ports | Select-Object LocalPort, OwningProcess, State | Format-Table
|
|
} else {
|
|
Write-Host " 无端口占用" -ForegroundColor Green
|
|
}
|
|
|
|
# 终止 Go 相关进程 / Kill Go-related processes
|
|
Write-Host "[信息] 终止服务进程..." -ForegroundColor Yellow
|
|
$processes = Get-Process | Where-Object {
|
|
$_.ProcessName -eq "go" -or
|
|
$_.ProcessName -eq "auth-service" -or
|
|
$_.ProcessName -eq "file-service"
|
|
}
|
|
|
|
if ($processes) {
|
|
$processes | Select-Object Id, ProcessName, StartTime | Format-Table
|
|
foreach ($p in $processes) {
|
|
Write-Host " 终止进程: $($p.ProcessName) (PID: $($p.Id))" -ForegroundColor DarkGray
|
|
Stop-Process -Id $p.Id -Force -ErrorAction SilentlyContinue
|
|
}
|
|
Write-Host "[完成] 服务进程已终止" -ForegroundColor Green
|
|
} else {
|
|
Write-Host " 无服务进程运行" -ForegroundColor Green
|
|
}
|
|
|
|
# 再次检查端口 / Verify ports are free
|
|
Write-Host "[验证] 再次检查端口..." -ForegroundColor Yellow
|
|
$remaining = Get-NetTCPConnection -LocalPort 8080,8081,8082 -ErrorAction SilentlyContinue
|
|
if ($remaining) {
|
|
Write-Host "[警告] 仍有端口占用,可能需要手动处理" -ForegroundColor Red
|
|
$remaining | Select-Object LocalPort, OwningProcess, State | Format-Table
|
|
} else {
|
|
Write-Host "[完成] 端口 8080/8081/8082 已释放" -ForegroundColor Green
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "提示: Docker 基础设施容器仍在运行,如需停止请执行:" -ForegroundColor DarkGray
|
|
Write-Host " docker compose -f docker-compose.infra.yml down" -ForegroundColor DarkGray |