背景是平台所在的服务器经常因异常原因导致当前机器所在的服务关闭....直接贴代码吧。

**************************************************************************************************

::守护程序-沙箱自动化平台
rem 定义循环间隔时间和监测的服务:
set secs=30
set srvname="firefox.exe"

@echo off
echo.
echo ========================================
echo == 查询沙箱测试平台服务的状态, ==
echo == 每间隔%secs%分种进行一次查询, ==
echo == 如发现其停止,则立即启动。 ==
echo ========================================
echo.
echo 此脚本监测的服务是:%srvname%
echo.

tasklist -v | findstr %srvname% > NUL
if ErrorLevel 1 (
echo "========================================">>E:\bat\temp\keepAliveLog.txt
echo %date%+ %time% ">>当前进程不存在" >> E:\bat\temp\keepAliveLog.txt
::echo %date%+ %time% >> E:\bat\temp\keepAliveLog.txt
echo "开始启动">> E:\bat\temp\keepAliveLog.txt
::e:
::cd bat\
::app.bat
start "wumin" "C:\Windows\System32\cmd.exe"
echo "执行成功" >> E:\bat\temp\keepAliveLog.txt
echo "========================================">>E:\bat\temp\keepAliveLog.txt
) else (
echo %date%+ %time% "进程存在">> E:\bat\temp\keepAliveLog.txt
)

**************************************************************************************************

通过windows 的任务计划程序进行定时扫描启动即可。

另外,解决问题的时候最好先确认倒是是服务器异常重启还是内存异常等原因导致的程序服务挂掉的,这里可以通过systeminfo 命令来确认,如下图可以确认系统最近一次重启是20190718..

当然如果是系统重启导致的服务down掉,那么我们还可以将对应的程序添加到windows的开机启动项中。

如有更优的方式,欢迎沟通补充。thx!

bat实现监控进程守护程序-保证平台服务的稳定执行的更多相关文章

  1. bat实现守护程序保证平台正常运行

    1.systeminfo查看系统最近一次重启时间: 2.杀进程: :start taskkill /f /im "xx.exe" goto start "xx.exe&q ...

  2. SparkStreaming任务保持运行,定时任务监控进程,保证不挂掉

    cron任务:每隔1分钟启动脚本,检查进程是否运行.crontab -e */1 * * * * bash /data/spark/test.sh 检查进程,如果进程挂掉,重新启动Spark任务:给s ...

  3. shell和bat 监控进程,自动关机

    1.linux 下监控进程,进程结束后关机 新建文件 monit.sh $chmod +x monit.sh 加入代码 #!/bin/sh a=; ]; do |;then echo "sh ...

  4. 通过监控线程状态来保证socket服务器的稳定运行

    云平台中使用的socket服务器是我们自己定义一套通信协议,并通过C#实现的一个socket服务. 该服务目前是和web服务一起运行在IIS容器中,通过启动一个永不退出的新线程来监听端口. 在开发的初 ...

  5. Nginx之监控进程和工作进程

    1. 函数调用分析 在开启 master 的情况下,多进程模型的下的入口函数为 ngx_master_process_cycle,如下: int mian() { ... if (ngx_proces ...

  6. Android 通过JNI实现守护进程,使得Service服务不被杀死

    来自: http://finalshares.com/read-7306 转载请注明出处: http://blog.csdn.net/yyh352091626/article/details/5054 ...

  7. [转载] 新兵训练营系列课程——平台服务部署及Web框架

    原文: http://weibo.com/p/1001643875679132642345 大纲 微博平台主要负责微博基础功能.接下来将会介绍 平台的作用,以及服务提供的形式 平台Web服务的部署 平 ...

  8. Android系统在新进程中启动自定义服务过程(startService)的原理分析

    在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验.Android系统为我们提供了一个Service类,我们可以实现 ...

  9. Supervisor 管理进程,Cloud Insight 监控进程,完美!

    Supervisor 是由 Python 语言编写.基于 linux 操作系统的一款服务器管理工具,用于监控服务器的运行,发现问题能立即自动预警及自动重启等. Cloud Insight 是一款次世代 ...

随机推荐

  1. Qt编写控件属性设计器6-动态属性

    一.前言 之前就提过,Qt的属性机制强大到爆,这次的动态属性功能就是要让他爆,很难想象只要一行代码即可widget->setProperty("value", value); ...

  2. Ubunut16.04 安装 g++ gcc 降级

    1. 查看gcc版本和g++版本 cd /usr/bin ls -l gcc* ls -l g++* 2. 安装gcc和g++ 4.4版本 sudo apt-get install gcc-4.4 g ...

  3. .NET实体框架EF之CodeFirst

    ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Conceptual Schema, Mapping Sch ...

  4. 树形DP入门学习

    这里是学习韦神的6道入门树形dp进行入门,本来应放在day12&&13里,但感觉这个应该单独放出来好点. 这里大部分题目都是参考的韦神的思想. A - Anniversary part ...

  5. Struts 2 --ONGL介绍

    先了解一下OGNL的概念 OGNL的全名称Object Graph Navigation Language.全称为对象图导航语言,是一种表达式语言.使用这种表达式语言,你可以通过某种表达式语法,存取J ...

  6. spring mvc 后端获得前端传递过来的参数的方法

    1.通过HttpServletRequest 获得 HttpServletRequest.getParameter(参数名),可以获得form表单中传递的参数,或ajax或url中传递过来的参数,如果 ...

  7. 解决 OpenCV with CUDA 编译提示缺少 nvcuvid.h 的问题

    系统环境: 操作系统:Ubuntu 18.04.01 显卡型号:GeForce GTX 1060 6G CMake 版本:3.10.2 GCC 版本:7.4.0 GNU Make 版本:4.1 CUD ...

  8. 高级UI-RecyclerView简单使用

    RecyclerView从Android 5.0开始引入,用以替代ListView.GridView控件,RecyclerView的存在,使得控件的耦合度更低,在ListView中需要使用ViewHo ...

  9. Mybatis映射文件sql语句注意事项

    1.插入

  10. python微信服务号关注授权、消息推送流程

    阅读目录 推送的方式: 微信推送的流程: 流程分析: 给用户推送消息功能 推送的方式: 短信推送(第三方) 邮件推送 微信推送 公众号:认证的公众号(个人的认证公众号每天只能发一篇文章),粉丝可以跟公 ...