准备:
01在cmd中查看命令使用
格式:命令名称 /?
02netstat
03findstr
C:\Users\Good>findstr /?
在文件中寻找字符串。
......
strings 要查找的文字。
04tasklist
C:\Users\Juna3066>tasklist /?
描述:
该工具显示在本地或远程机器上当前运行的进程列表。
05taskkill
C:\Users\Juna3066>taskkill /?
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
描述:
使用该工具按照进程 ID (PID) 或映像名称终止任务。
参数列表:
......
/PID processid 指定要终止的进程的 PID。
使用 TaskList 取得 PID。
/IM imagename 指定要终止的进程的映像名称。通配符 '*'可用来
指定所有任务或映像名称。
/T 终止指定的进程和由它启用的子进程。
/F 指定强制终止进程。
/? 显示帮助消息。
开始通过端口关闭进程
方式1:
通过端口号找到进程PID,通过PID找到进程。最后通过进程名强行结束该进程和子进程。
C:\Users\Juna3066>netstat -ano|findstr "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 4068
TCP 192.168.0.149:8080 192.168.0.149:53826 TIME_WAIT 0
TCP [::]:8080 [::]:0 LISTENING 4068
C:\Users\Juna3066>tasklist|findstr "4068"
java.exe 4068 Console 1 109,144 K
C:\Users\Juna3066>taskkill /f /t /im java.exe
成功: 已终止 PID 9856 (属于 PID 4068 子进程)的进程。
成功: 已终止 PID 4068 (属于 PID 7396 子进程)的进程。
方式2:
通过端口号找到进程PID,直接通过PID结束该进程和子进程。
C:\Users\Juna3066>netstat -ano|findstr "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 7276
TCP [::]:8080 [::]:0 LISTENING 7276
C:\Users\Juna3066>taskkill /f /t /pid "7276"
成功: 已终止 PID 3868 (属于 PID 7276 子进程)的进程。
成功: 已终止 PID 7276 (属于 PID 1272 子进程)的进程。
超级便捷的方法(补充)
当你对上面的命令很熟悉的时候,经常遇到这种问题,重复按上面的方式输入命令关闭端口会显得浪费时间。
因此,从网上收集了相关资料整理了一个关闭栈用端口的bat.
bat代码所示:
@echo off
:main
echo (Info:Input port to close relational process. If input equals '0',quit this bat )
set /p p=input port :
if %p%==0 (
exit
)else (
goto kill
)
:kill
for /f "tokens=5" %%i in ('netstat -aon ^| findstr %p%') do (
set n=%%i
)
taskkill /f /t /pid %n%
echo.
goto main
使用方法:
建立文本,复制上面代码到里面。修改后缀为.bat
点击即可使用。
使用演示:
输入端口号,回车