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

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

相关推荐
数智工坊13 小时前
Zotero自建Ubuntu WebDAV附件同步方案(完美解决存储空间不足)
linux·运维·ubuntu
独隅14 小时前
GitHub Actions 自动化运维实战:CI/CD 流水线一体化效果展示
运维·自动化·github
饺子大魔王的男人15 小时前
CentOS部署Cockpit:图形化查看系统、日志与服务状态
linux·运维·centos
不会就选b15 小时前
Linux之信号(二)
linux·运维·服务器
qq_2676128916 小时前
Gitee项目管理推荐:从工具链割裂到DevOps全链路贯通的企业级协作实践
运维·gitee·devops
寺中人17 小时前
Linux 基础命令入门实战教程:从零掌握常用操作,新手快速上手
linux·运维·服务器·shell·linux 命令·linux 基础教程·linux 入门
V哥AI增长17 小时前
Schema.org 结构化数据与GEO技术落地:AI引擎引用机制与JSON-LD部署实证研究
大数据·运维·人工智能
不老刘17 小时前
【Java入门】Java服务部署方式全景对比:从java -jar到K8s
java·kubernetes·jar
小张成长计划..17 小时前
【Linux】18:基础IO
linux·运维·服务器
MC皮蛋侠客18 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis