​❤️​Windows下创建【任务计划程序】​❤️定期重启服务器中的【JAR包脚本】​❤️实现JAR包重启防止卡顿服务超时中断❤️

简介: ​❤️​Windows下创建【任务计划程序】​❤️定期重启服务器中的【JAR包脚本】​❤️实现JAR包重启防止卡顿服务超时中断❤️

创建任务计划程序,定期重启服务器中的JAR包脚本

1、JAR包重启脚本的编写

编写要求:

1)关闭现有JAR包,重新启动JAR包。

(2)编写JAR包重启的脚本文件,同时重启多个JAR包,设置排序时间,不要同一时刻重启,防止服务系统卡顿,导致业务中断。

@echo off
set port=8911
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port 
    taskkill /pid %%m -t -f
    goto start
)
:start
START "xxxxxx.jar 8911" java -jar -Dfile.encoding=utf-8 xxxxxx.jar & ping localhost -n 5
set port=8001
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (
    echo kill the process %%m who use the port 
    taskkill /pid %%m -t -f
    goto start
)
:start
START "xxxxxx.jar 8001" java -jar -Dfile.encoding=utf-8 xxxxxx.jar & ping localhost -n 10
pause

2、在任务计划程序中,创建基本任务。

  • 常规:使用最高权限运行;
  • 配置:Windows server 2012、Windows server 2016、Windows server 2019;
  • 触发器:开始任务:按预定计划;设置:每周;每隔一周,选择星期日、星期三;状态设置已启用;
  • 操作:选择启动程序。设置:浏览添加想要执行的程序或脚本。添加参数(可选);起始于(可选):将需要重启的JAR包和JAR包重启脚本放在一起同一个目录下,填写该JAR包和JAR包重启脚本的文件目录。
  • 设置:如果此任务已经运行,以下规则适用:选择“停止现有实例”。


1、打开控制面板,选择系统和安全,点击管理工具。

dcd4da8d6200ce1fab5f34fb6dae4b6a.png

2、选择“任务计划程序”。

02dc3056615fa3b311d0e6902bc4ffb9.png

3、点击“创建任务”。开始设置步骤。

6e43a28a76f4a052a7eb5b6786370ab9.png

(1)创建任务——设置任务名称。如图所示。

1a1877e57b777b886adde0ac016ab6cd.png

(2)点击“触发器”,选择“新建”。

21a81b4a7af7f917860aa98040124442.png

(3)新建触发器,设置相关参数。

29d6f4e195ab07e91c94cb2ea23dd123.png

de883740fbe5256d9ecf0b3479974ff7.png

(4)新建操作

179d3e73ffee5be62e498c0318e8d24e.png

d3dbe6237a46522b922c7e75328b381c.png

(5)设置所需条件。

7668f5428f235535fc9c63a4751b37f6.png

(6)设置,选择“停止现有实例”

715b7a605e4fab437b3a9b9e9c8b46c0.png

四、设置完成。进行验证。

580e533b157f3df2277455b4e47ef523.png


五、所遇问题

脚本执行后,jar启动卡住,需要按Enter回车键才行。

解决办法:

1、打开cmd运行框,右击白框,选择“属性”。

1ec07c773271499ccb8d649ae223f29a.png

2、“快速编辑模式”取消勾选

ff2b2decea86e91ddb3706211ce6f5d0.png

相关文章
|
7天前
|
存储 UED Windows
Windows服务器上大量文件迁移方案
Windows服务器上大量文件迁移方案
24 1
|
11天前
|
NoSQL Redis Windows
windows服务器重装系统之后,Redis服务如何恢复?
windows服务器重装系统之后,Redis服务如何恢复?
35 6
|
11天前
|
消息中间件 Java Kafka
windows服务器重装系统之后,Kafka服务如何恢复?
windows服务器重装系统之后,Kafka服务如何恢复?
19 8
|
7天前
|
Python Windows
python之windows脚本启动bat
python之windows脚本启动bat
|
Windows 编译器 数据格式
46、Windows驱动程序模型笔记(四),异常
1、Summary of Kernel-Mode Support Routines http://msdn.microsoft.com/en-us/library/ff563889%28VS.85%29.aspx 决不在内核模式服务函数的参数中使用带有侧效的表达式。
765 0
|
Windows 编译器 调度
47、Windows驱动程序模型笔记(五),内存管理
内存管理 1)内核模式与用户模式地址 图示 地址空间中用户模式部分和内核模式部分     每个用户模式进程都有自己的地址上下文,它把用户模式的虚拟地址映射成一组唯一的物理页帧。这意味着,当Windows NT调度器把控制从一个进程的当前线程切换到另一个进程的某个线程时,与进程相对应的虚拟地址空间也被更换。
1067 0
|
调度 索引 Windows
48、Windows驱动程序模型笔记(六),同步
关于同步     执行在某线程上下文中的代码在任何时刻都可能被系统夺去控制权。另外,只有在多处理器的计算机上才能真正实现多线程的并发执行。Windows NT为解决一般的同步问题提供了两种方法,一个是中断请求优先级(IRQL)方案,另一个是在关键代码段周围声明和释放自旋锁。
1078 0
|
Windows
49、Windows驱动程序模型设计笔记(七),IRP
一、IRP MdlAddress(PMDL)域指向一个内存描述符表(MDL),该表描述了一个与该请求关联的用户模式缓冲区。如果顶级设备对象的Flags域为DO_DIRECT_IO,则I/O管理器为IRP_MJ_READ或IRP_MJ_WRITE请求创建这个MDL。
974 0
|
Windows 调度 数据格式
50、Windows驱动程序模型设计笔记(八),IRP
3、派遣例程的职责 •派遣函数立即完成该IRP。 •把该IRP传递到处于同一堆栈的下层驱动程序。 •排队该IRP以便由这个驱动程序中的其它例程来处理。     每个设备对象都自带一个请求队列对象,下面是使用这个队列的标准方法: NTSTATUS DispatchXxx(...) { ... IoMarkIrpPending(Irp); IoStartPacket(device, Irp, NULL, NULL); return STATUS_PENDING; } 一旦我们调用了IoStartPacket函数,就不要再碰IRP。
1022 0
|
PHP Windows 容器
43、Windows驱动程序模型笔记(一)
1、通常,驱动程序在某些不可预测线程的上下文中应该使用异步方式处理I/O请求。我们使用术语任意线程上下文(arbitrary thread context)来描述驱动程序并不知道(或并不关心)处理器当前执行在哪一个线程上的上下文。
832 0
下一篇
无影云桌面