windows下bat脚本监听http服务

背景:通过监听http请求,接收返回值判断程序是否运行正常,如果程序不能正常响应,则杀死程序对应的线程,启动程序或对应的服务

一、监听http请求,启动服务

1. monitor-service.bat 

@echo off
:: 设置窗体背景颜色
color 1f
:: 设置窗体标题
title 正在监控http://localhost:8080
echo 正在监控 http://localhost:8080

:next
set code=500
curl -s http://localhost:8080>check.txt
for /f %%i in (check.txt) do set "code=%%i"
echo code为:%code%
if %code%==200 (
	echo 在%date:~0,10% %time:~0,8% 访问正常
	echo 正在监控http://localhost:8080
) else (
	echo 在%date:~0,10% %time:~0,8% 无法正常访问,杀掉对应的进程
	call kill-process.bat
	echo 在%date:~0,10% %time:~0,8% 无法正常访问,重启中...
	start myApp-service-start.bat
	echo 在%date:~0,10% %time:~0,8% 重启成功
)
:: 休眠15秒
choice /t 15 /d y /n >nul
goto next

2. kill-process.bat

@echo off

:: 设置窗体背景颜色
color 1f
:: 设置窗体标题
title 根据端口杀死进程
set port=8080
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do echo 准备杀死进程:%%m &taskkill /f /pid %%m &goto :end

:end

 3. myApp-service-start.bat

@echo off
:: 以管理员权限运行
if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit)
echo %date:~0,10% %time:~0,8% 服务启动中...
:: 该命令必须以管理员权限才能运行,否则会提示拒绝访问
net start myApp
echo %date:~0,10% %time:~0,8% 启动服务成功
pause

4. 服务正常运行时 ,运行监听脚本

5. 服务停止时 ,运行监听脚本

从以上结果可以看出监听正常 

二、监听http请求,启动程序

2.1 monitor-net.bat

@echo off
:: 设置窗体背景颜色
color 1f
:: 设置窗体标题
title 正在监控http://localhost:8080
echo 正在监控 http://localhost:8080

:next
set code=500
curl -s http://localhost:8080>check.txt
for /f %%i in (check.txt) do set "code=%%i"
echo code为:%code%
if %code%==200 (
	echo 在%date:~0,10% %time:~0,8% 访问正常
	echo 正在监控http://localhost:8080
) else (
	echo 在%date:~0,10% %time:~0,8% 无法正常访问,杀掉对应的进程
	call kill-process.bat
	echo 在%date:~0,10% %time:~0,8% 无法正常访问,重启中...
	start jar-start.bat
	echo 在%date:~0,10% %time:~0,8% 重启成功
)
:: 休眠5秒
choice /t 15 /d y /n >nul
goto next

2.2  jar-start.bat

@echo off
java -jar F:/spring-boot-security02-0.0.1-SNAPSHOT.jar 
echo 启动服务成功

 从程序未运行开始监听,到程序正常运行

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值