【Windows本地端口占用脚本自动化】

2023-12-13 14:36:51

本地启动多个Java微服务,因为停电或者内存回收原因,IDEA直接退出;再次启动各个服务会提示端口占用。

每次都cmd输入命令手动Kill比较繁琐,可以把此脚本放在桌面上作为一个小工具,运行即可。

运行效果

代码(核心部分是chatGPT自动生成)

@echo off
REM 关闭命令回显,这意味着命令本身不会显示在命令提示符窗口中,只有命令的输出会显示
rem 命令开启了局部变量环境,并启用了延迟变量扩展,使得在循环或代码块内部更改的变量可以立即使用其新值。
setlocal enabledelayedexpansion

REM 定义要查找的端口列表,用空格分隔
set /p PORTS="enter the port numbers, separated by spaces: "
echo your input are: %PORTS%

REM 循环通过每个端口
for %%p in (%PORTS%) do (
	REM 使用netstat找到对应端口的PID,然后使用taskkill杀掉进程
	for /f "tokens=5" %%a in ('netstat -ano ^| findstr "LISTENING" ^| findstr ":%%p"') do (
		set PID=%%a
		REM 杀掉对应PID的进程
		taskkill /PID !PID! /F
			REM 输出被杀掉的进程信息
			if !errorlevel! equ 0 (
				echo Successfully killed process with PID !PID! on port %%p
			) else (
				echo Failed to kill process with PID !PID! on port %%p
			)
	)
)
endlocal

文章来源:https://blog.csdn.net/meiceatcsdn/article/details/134800906
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。