本文已参与「新人创作礼」活动,一起开启掘金创作之路。
想必你一定遇到过这种情况吧?
我自己编写了一个bat小脚本,实现根据端口号查找pid杀死进程的功能。
脚本代码: v0.1.1
chcp 65001
cls
@echo.
@echo.
@echo ------根据端口号杀死进程进程工具v0.1.1(按回车继续/q退出)------
@echo.
@echo.
@echo.
@echo.
:_find
@echo off
set "port=0"
set /p port=请输入被占用的端口号:
if "%port%"=="0" goto _find
if "%port%"=="q" goto end
netstat -ano | findstr "%port%"
:_kill
set "pid=0"
set /p pid=请输入占用该端口号进程的PID:
if "%pid%"=="0" goto _kill
if "%pid%"=="q" goto end
taskkill -PID "%pid%" -F
pause
:end
cls
Congratulations!!??✨ 升级了!? v0.2.3
chcp 65001
cls
@echo.
@echo.
@echo ------根据端口号杀死进程进程工具v0.2.3(按回车继续/q退出)------
@echo.
@echo.
@echo.
@echo.
:_find
@echo off
set "port=0"
set /p port=请输入被占用的端口号:
if "%port%"=="0" goto _find
if "%port%"=="q" goto end
netstat -ano | findstr "%port%" >nul && Echo 以下进程占用了%port%端口: && echo 协议 本地IP:端口 远程IP:端口 监听状态 PID && netstat -ano | findstr "%port%" || Echo %port%端口没有被任何进程占用. && goto _find
:_kill
set "pid=0"
set /p pid=请输入进程PID将其杀死:
if "%pid%"=="0" goto _kill
if "%pid%"=="q" goto end
taskkill -PID "%pid%" -F
pause
:end
cls
ps: 注意开头的chcp 65001
是将cmd临时切换到中文页码, 以解决中文乱码问题的
使用方法:
- 新建TXT文件,复制代码写入。
- 重命名保存为kill.bat文件,放入环境变量目录下:
方法一: 直接打开 方法二: win+R输入kill回车:
方法三: 打开cmd:
执行kill.bat脚本:
kill.bat下载地址: lmmarise.lanzouw.com/iLHYWvjjiwj
注意1:Windows系统中文版默认使用gb2312编码,自己创建需要格外注意文本文件的编码格式,否则可能出现错误。
注意2:注意windows控制台使用的编码格式。