当我使用netstat命令时,我需要杀死一个没有列出的进程.下面的命令将找到进程ID 4,它不是我要查找的进程ID.

    $processPID =  $($(netstat -aon | findstr '5000')[0] -split '\s+')[-1]
    Stop-Process $processPID

我知道我需要的过程是在以下结果中.

Get-Process-Name点网络

而且我找不到一种方法来使用get进程来使用端口筛选器.对于DotNet人员的信息,我使用PowerShell中的DotNet CLI命令运行该项目.

在下面的屏幕截图中,您可以看到监听端口的进程的进程ID 5100

enter image description here

推荐答案

感谢马蒂亚斯和塞巴斯蒂安.有了您的宝贵输入,我想出了以下函数来获取进程ID.

    function Get-ProcessByPort {
    param(
        [int]$Port
    )
    $services = netsh http show servicestate
    $positionSession=0
    $countSession=0
    $countProcess=0
    [bool] $takeNextPID=0
    $processId=$null
    foreach ($s in $services){
        if ($takeNextPID -eq 1) {
            $processId=$s
            break
        }
        if ($s -match 'Server session ID') {
            $countSession++
        }
        if ($s -match "HTTP://LOCALHOST:$Port/") {
            $positionSession=$countSession
        }
        if ($s -match 'Process IDs:') {
            $countProcess++
        }
        if ($positionSession -gt 0) {
            if ($countProcess -eq $positionSession) {
                $takeNextPID=1
            }
        }
    }
    if (-not ([string]::IsNullOrEmpty($processId)))
    {
        $processId=$processId.Trim()
    }   
    return $processId
}

Asp.net相关问答推荐

'dotnet --version is returning您必须安装或更新.NET才能运行此应用程序.三十九岁;

设置主键时KeyAttribute属性不起作用

Web 部署工具 2.1 和 Web 部署 3.5 有什么区别?从 VS 2010 部署需要哪一个?

jQuery隐藏字段

Azure 自定义控制器/API .Net 后端

捕获对 ASP.NET ASMX Web 服务的 SOAP 请求

在 Asp.net 中通过 Button 的 CommandArgument 传递多个参数

使用 ASP.NET WebForms 的 jQuery DataTables 服务器端处理

带有完整内存错误的 WCF 服务(内存门判断失败,因为可用内存) - 如何解决

将数据表导出到 Excel 文件

带有 2 个提交按钮/操作的 ASP.Net MVC 4 表单

如何忽略身份框架的魔力,只使用 OWIN 身份验证中间件来获取我寻求的声明?

ASP.NET MVC 路由的无限 URL 参数

Twitter Bootstrap 和 ASP.NET GridView

如何获取部署在 Azure 网站上的 ASP.NET 5 应用程序的错误详细信息?

ASP.NET 按钮重定向到另一个页面

简单的 LINQ 和列表错误:WhereListIterator`1[Task]' to type 'System.Collections.Generic.List`1[Task]'

System.Threading.Tasks - 限制并发任务的数量

在 ASP.NET Web API 2 中禁用 *all* 异常处理(为我自己腾出空间)?

Application_End global.asax