准备:
01在cmd中查看命令使用
格式:命令名称 /?
02netstat
03findstr
C:UsersGood>findstr /? 在文件中寻找字符串。 ...... strings 要查找的文字。
04tasklist
C:UsersJuna3066>tasklist /? 描述: 该工具显示在本地或远程机器上当前运行的进程列表。
05taskkill
C:UsersJuna3066>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:UsersJuna3066>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:UsersJuna3066>tasklist|findstr "4068" java.exe 4068 Console 1 109,144 K C:UsersJuna3066>taskkill /f /t /im java.exe 成功: 已终止 PID 9856 (属于 PID 4068 子进程)的进程。 成功: 已终止 PID 4068 (属于 PID 7396 子进程)的进程。
方式2:
通过端口号找到进程PID,直接通过PID结束该进程和子进程。
C:UsersJuna3066>netstat -ano|findstr "8080" TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 7276 TCP [::]:8080 [::]:0 LISTENING 7276 C:UsersJuna3066>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
点击即可使用。
使用演示:
输入端口号,回车