我想列出并终止属于使用端口的特定进程的会话的所有进程。这应该通过一个接受端口号作为输入的 Windows 批处理命令来实现。
例如:假设一个进程 PA 当前正在侦听端口 8081。PA 在会话 S1 下运行。有进程 PB 和 PC 与 PA 属于同一会话。PB 和 PC 将在不同的端口上运行(它们运行在哪些端口上并不重要)
windows 命令/批处理文件应以 8081 作为输入并终止进程 PA、PB 和 PC。
这可能吗?感谢对此的一点帮助,因为我不太精通批处理命令/脚本。
我失败的尝试:
(for /F "tokens=2" %%i in (for /f "tokens=5" %a in ('netstat -aon ^| findstr 8081') do tasklist /NH /FI "PID eq %a") do taskkill /NH /FI "SESSIONNAME eq %%i")
这在 PowerShell 中实际上非常简单:
如果您正在寻找批处理脚本
您可以从中创建一个函数:
并称它为