Windows Bat脚本实现定时重启应用程序

       项目中有两个网络抓包程序用于处理解析指定服务器镜像发送的网络数据包,正常运行了几年,最近可能是客户整改内部网络原因,发现程序在运行一段时间后不定期的就无法接收到网络数据包,只能重启程序后方可恢复正常,一时半会找不到原因,只能先写个脚本,在每天凌晨重启一下应用。

1、关闭与重启脚本:start_smscap.bat

@echo off  

echo 准备关闭抓包程序。。。 

taskkill /f /im java.exe

echo 关闭成功

D: 

echo 准备启动抓包程序1。。。

cd D:\smscap\smscap1\

start D:\smscap\smscap1\server.bat

echo 启动抓包程序1成功.

echo 准备启动抓包程序2。。。

cd D:\smscap\smscap2\

start D:\smscap\smscap2\server.bat

echo 启动抓包程序2成功.

echo 退而本界面
exit

2、进入CMD命令行,创建定时任务

D:\> SCHTASKS /Create /SC DAILY /TN "smscap" /TR d:\smscap\start_smscap.bat /ST 02:00
成功: 成功创建计划任务 "smscap"。

好了,运维人员可以不用担心程序挂了。


以下备忘下windows相关脚本命令----------------------

1、windows10命令行下查看、杀掉进程基本命令
 tasklist /fi  "imagename eq nginx.exe"
 tasklist | findstr 相关字段
 taskkill /f /t /im 进程名称
          /f 杀死所有进程及子进程
          /t 强制杀死
          /im 用镜像名称作为进程信息    
          /pid 用进程id作为进程信息

实用实例:

在BAT脚本中动态获取相关进程PID,以下代码演示获取navicat.exe的进程PID并强制终止进程。

@echo off
for /f "tokens=2 " %%i in ('tasklist /nh /fi "imagename eq navicat.exe"') do (
    set pid=%%i
	taskkill /f /t /pid %%i
)
echo,%pid%
exit


 2、windows定时任务schtasks命令详细解
 创建计划任务 "gaming",每天 12:00 点运行 freecell.exe。
 SCHTASKS /Create /SC DAILY /TN gaming /TR c:\freecell /ST 12:00 

 

  • 4
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值