You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

netstat无法找到进程时,如何用Get-Process通过端口获取dotnet进程ID

解决方法

1. 用PowerShell原生命令关联端口与dotnet进程

netstat有时会出现解析错误或无法正确关联进程的情况,改用Get-NetTCPConnection(PowerShell专属命令)能更准确获取端口对应的进程ID:

# 指定目标端口(比如你截图里的5100)
$targetPort = 5100

# 获取监听该端口的进程ID
$processPID = (Get-NetTCPConnection -LocalPort $targetPort -ErrorAction SilentlyContinue).OwningProcess

2. 验证并终止目标dotnet进程

因为你确认目标是dotnet进程,可先验证PID归属再终止:

if ($processPID) {
    $targetProcess = Get-Process -Id $processPID -Name dotnet -ErrorAction SilentlyContinue
    if ($targetProcess) {
        Stop-Process -Id $processPID -Force
        Write-Host "已成功终止监听端口$targetPort的dotnet进程(PID: $processPID)"
    } else {
        Write-Host "端口$targetPort对应的进程不是dotnet进程"
    }
} else {
    Write-Host "未找到监听端口$targetPort的进程"
}

3. 一步到位的简化命令

也可以用管道串联命令直接过滤并终止:

Get-NetTCPConnection -LocalPort 5100 | 
    Where-Object { (Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue).Name -eq 'dotnet' } | 
    ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }

补充说明

你之前用netstat得到PID4,是因为PID4是Windows系统进程(System),大概率是netstat的空格分割解析逻辑出错,误把系统进程当成了目标进程。而Get-NetTCPConnection直接从系统获取TCP连接的进程关联数据,可靠性更高。

内容的提问来源于stack exchange,提问作者Rajeev Menon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:37:45