返回博客
2026年9月29日0 阅读2 分钟阅读开发者

windows 运行在后端的website

如果干掉

没有前台终端也能停掉——直接按端口把进程杀掉即可(dev server 跑在 3100 端口)。在 PowerShell 里执行:


      
# 1. 看谁在监听 3100
Get-NetTCPConnection -LocalPort 3100 -State Listen | ForEach-Object { Get-Process -Id $_.OwningProcess }

# 2. 杀掉它
(Get-NetTCPConnection -LocalPort 3100 -State Listen).OwningProcess | ForEach-Object { Stop-Process -Id $_ -Force }

如果你当初是从仓库根目录 pnpm dev 起的(turbo 包了一层),上面只杀了 next,turbo 父进程可能还在。顺手也把 turbo 一起清掉:


      
# 杀掉命令行里带 turbo / next 的 node 进程
Get-CimInstance Win32_Process -Filter "name='node.exe'" |
  Where-Object { $_.CommandLine -match 'turbo|next' } |
  ForEach-Object { Stop-Process -Id $_.ProcessId -Force }

不想用命令也行:打开任务管理器 → 详细信息 → 找 node.exe(命令行含 next/turbo 或占用 3100 的)→ 结束任务。

杀完确认端口空了:


      
Get-NetTCPConnection -LocalPort 3100 -State Listen
# 没输出 = 已释放

然后重新启动(在根目录即可,它会带上新生成的 Prisma client):


      
# 根目录(跑全部 app)
pnpm dev
# 或只跑 pxsk
pnpm --filter pxsk dev

再刷新 /admin/settings 保存,应该就不报 upsert 那个错了。如果端口还被占(提示 EADDRINUSE),说明没杀干净,重复上面的端口查询确认 PID。