Win服务器服务定时启动

10 篇文章 0 订阅
本文详细介绍了如何编写bat脚本在Windows服务器上定时检测端口并启动项目,包括使用PowerShell检查端口可达性,以及创建bat脚本执行这些任务,支持定时重复和后台运行。还提到在CMD中不同选项启动项目的方法。
摘要由CSDN通过智能技术生成

如何在win服务器上面定时启动项目?

第一:写一个startForTelnet.bat的脚本

内容如下:

1. “port=端口”,这里写需要检测的端口,例如“port=8080”,意为检测8080端口是否被占用。

2.“command=操作命令”,这里写需要操作的命令,例如启动某个jar包“java -jar YourJarFile.jar”。

@echo off
setlocal

set port=9081
set command=java -jar tf-access-v1.0.5.jar

echo Testing connectivity to localhost:%port%...

:: 使用 PowerShell 检查端口可达性
powershell -Command "$ErrorActionPreference = 'Stop'; $result = Test-NetConnection -ComputerName localhost -Port %port%; if ($result.TcpTestSucceeded) { exit 1 } else { exit 0 }"

if %errorlevel% equ 0 (
    echo Port %port% is not reachable.
    echo Executing command: %command%
    %command%
  ) else (
    echo Port %port% is reachable. Skipping command execution.
  )

endlocal

解释:这个bat文件的意思为,Telnet该端口,如果该端口被占用,则不执行你设置的操作命令,如果端口未被占用(说明该程序未启动),则执行你设置的操作命令(一般操作命令设置为启动某个jar包或程序)

第二:在写一个bat执行上面的那一个

1.“targetScript=上一个脚本或程序的路径及名称”,例如:“targetScript=D:\guangzhou\startForTelnet.bat”,意为:执行D盘test文件夹里的startForTelnet.bat脚本(上一步脚本的名称)。

2.如果想修改时间,可以修改timeout /t后面的120,这里意思为120秒(两分钟),多长时间执行一次可以自行修改。
 

@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin

set "targetScript=D:\guangzhou\startForTelnet.bat"

:loop
echo Calling %targetScript%...

:: 调用指定的批处理文件
call "%targetScript%"

:: 休眠120秒(2分钟)
timeout /t 120 /nobreak >nul

goto loop

解释:

这个脚本意思为:每过两分钟执行一次,某路径下的某脚本或程序。并且隐藏命令提示符的窗口,为后台运行。

如何关闭:

如果想结束该循环命令,关闭脚本。打开任务管理器,找到windows命令处理程序这条,选中结束任务即可

第三:直接在cmd启动项目(与上面两个无关)
cmd /c dir 是执行完dir命令后关闭命令窗口。

cmd /k dir 是执行完dir命令后不关闭命令窗口。

cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。

cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。

执行完成之后不关闭窗口:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员子衿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值