我需要一种方法,给定一个tcp端口号,发现是否有一些使用该端口的进程(并获取进程ID)。
netstat之类的东西只能以编程方式进行。
答案 0 :(得分:2)
这对于原始海报可能为时已晚,但其他人可能会发现它很有用。您可以在System.Management.Automation命名空间中使用PowerShell类。
private static IEnumerable<uint> ProcessesUsingPorts(uint id)
{
PowerShell ps = PowerShell.Create();
ps.AddCommand("Get-NetTCPConnection").AddParameter("LocalPort", id);
return ps.Invoke().Select(p => (uint)p.Properties["OwningProcess"].Value);
}
答案 1 :(得分:1)