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

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

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

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

java 复制代码
@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
相关推荐
舞动CPU4 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
皮锤打乌龟5 小时前
(干货)Jenkins使用kubernetes插件连接k8s的认证方式
运维·kubernetes·jenkins
钰@5 小时前
小程序开发者工具的network选项卡中有某域名的接口请求,但是在charles中抓不到该接口
运维·服务器·小程序
wanhengwangluo5 小时前
云服务器和物理服务器的区别有哪些?
运维·服务器
秦jh_6 小时前
【Linux】多线程(概念,控制)
linux·运维·前端
yaosheng_VALVE7 小时前
稀硫酸介质中 V 型球阀的材质选择与选型要点-耀圣
运维·spring cloud·自动化·intellij-idea·材质·1024程序员节
看山还是山,看水还是。7 小时前
Redis 配置
运维·数据库·redis·安全·缓存·测试覆盖率
扣得君7 小时前
C++20 Coroutine Echo Server
运维·服务器·c++20
keep__go8 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求8 小时前
Linux中给普通账户一次性提权
linux·运维·服务器