set/p port=kill-port: echo port : %port% set pid= set executableFile= for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do ( if [%%d] EQU [LISTENING] ( set pid=%%e ) ) if "%pid%"=="" ( echo 未找到监听端口为 %port% 的进程,无需终止。 ) else ( for /f "usebackq tokens=1-5" %%a in (`tasklist ^| findstr %pid%`) do ( set executableFile=%%a ) echo 现在将终止进程:pid %pid%,可执行文件:%executableFile% taskkill /f /pid %pid% ) timeout /t 3 /nobreak > nul
创建和使用步骤:
- 创建文本文件并复制上述脚本内容
- 将文件后缀改为
.bat - 双击脚本执行,输入目标端口号(如 9060)
- 回车等待操作完成,3秒后窗口自动关闭
脚本特性说明:
chcp 65001:设置 UTF-8 编码格式,确保中文正常显示timeout /t 3:保持结果信息可见 3 秒钟
操作结果显示:
- 成功终止:显示被终止进程的 PID 和可执行文件名
- 无需操作:提示未找到对应端口的监听进程
总结
通过本文介绍的方法和示例,您可以轻松地在 Windows 和 Linux 系统下终止指定端口的进程。无论是直接在命令行中执行单条命令,还是使用封装好的脚本,都能显著提高系统管理效率。这些技巧特别适用于:
- 开发环境中的端口冲突解决
- 系统维护时的异常进程清理
- 自动化脚本中的进程管理
- 多环境部署时的资源释放
掌握这些跨系统的进程管理方法,将帮助您更加游刃有余地处理各种系统管理任务,确保开发和运维工作的顺利进行。