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

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

相关推荐
仍然.7 小时前
Redis---缓存
数据库·redis·缓存
程序员-Benothing7 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
m0_646429977 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
亚川楼宇自控系统数据中心厂家8 小时前
IBMS 集成管理系统:如何打通楼宇自控实现建筑一体化管控
运维
迪康Defender8 小时前
终端安全审批体系设计:如何平衡安全管控与业务连续性
运维·服务器·安全·运维开发·学习方法·业界资讯·远程工作
luo_guibin10 小时前
Linux系统下OpenSSL升级全流程,新旧版本切换
linux·运维·服务器
71777710 小时前
支持混合云的 DevOps 平台有哪些:主流方案对比与选型指南
运维·devops
看着博客敲代码10 小时前
No space left on device:服务器被 SSH 爆破到日志写满的完整排查与止血
linux·运维·服务器·安全·ssh
编程序的员10 小时前
使用OpenTelemetry来监控Rust应用
运维·rust·monitoring·opentelemetry
实战派K8S&DB10 小时前
TDSQL 核心模块与进程体系
运维·数据库·分布式·sql·mysql