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即可。

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

相关推荐
IT规划师1 小时前
Redis 数据类型全解 - List:用对是队列用错是灾难(二)
redis·消息队列·.net
杨云龙UP1 小时前
MySQL 主从复制管理:暂停、恢复、清理主从关系及命令执行位置
运维·数据库·mysql·主从配置·主从命令·reset replica·清除复制
CarIise1 小时前
Spring 框架:多配置文件、开发方式与 IOC 注解
junit·maven·jar
Android系统攻城狮1 小时前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
隔窗听雨眠1 小时前
从存储引擎到执行计划:OceanBase高效运维的调优逻辑与工程实践
运维·oceanbase
运维行者_1 小时前
供应链安全成最大风险源,企业如何构建可控的运维体系?
运维·开发语言·网络·数据库·安全·云计算·流量监控
xiaoyunxuexibiji1 小时前
采购协同管理:从备货计划、进度确认到到货签收
大数据·运维·人工智能
画中有画2 小时前
在自动化脚本中调用其他脚本文件
运维·自动化
Android系统攻城狮2 小时前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶