Bat中实现简单运维脚本示例-启动redis、检测指定端口是否占用、占用则杀死进程、等待指定秒数、启动jar包

场景

某windows服务器上部署连接redis的某jar包。

需要先启动redis,然后等待10秒,确保redis启动,然后检测jar包对应的端口是否被占用

如果被占用,则将对应端口进程杀死,

最后启动jar包。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi

实现

新建bat脚本内容

复制代码
@echo off
chcp 65001 >nul
echo ==============================================
echo           正在启动 Redis 服务...
echo ==============================================

:: 1. 启动 Redis
cd /d "D:\dataUpload\Redis-x64-3.0.504"
start "Redis Server" redis-server.exe redis.windows.conf

:: 2. 等待 10 秒
timeout /t 10 /nobreak >nul

echo.
echo ==============================================
echo          检查并释放 996 端口...
echo ==============================================

:: ===================== 核心代码 =====================
:: 查找996端口对应的进程PID
for /f "tokens=5 delims= " %%a in ('netstat -ano ^| findstr ":996"') do (
    if not "%%a"=="0" (
        echo 找到占用996端口的进程 PID: %%a
        :: 强制杀死该进程
        taskkill /f /pid %%a >nul 2>&1
        echo 已杀死占用996端口的进程
    )
)
:: ====================================================

echo.
echo ==============================================
echo           正在启动数据上传程序...
echo ==============================================

:: 3. 启动 jar 包
cd /d "D:\dataUpload"
title dataUpload!!!
echo 正在启动 ...
java -jar dataUpload.jar

pause

然后将此Bat加入到开机自启动目录即可:

win+r

shell:startup

复制此bat即可。

有可能被杀毒软件拦截,选择允许即可。

相关推荐
leeyi17 小时前
Checkpoint 机制:Agent 怎么在断电后接着跑
redis·aigc·agent
云技纵横2 天前
一个 @Async 让循环依赖暴雷:Spring 代理的暗坑
redis
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
犯困蛋挞yy2 天前
用Claude快速解决Redis代码报错反复无解的问题
redis
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB5 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode7 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220707 天前
如何搭建本地yum源(上)
运维