本文转自网络,由于找不到原作者,因而无法知道出处。如果有幸让原作者看到,请联系我加上。先转载至此。

最近几天加班加疯掉了,天天晚上没法睡。开发部的一个核心程序总是会自己宕机,然后需要手工去起,而这个服务的安全级别又很高,只有我可以操作,搞得我晚上老没法睡,昨晚实在受不了了,想起以前在hp-ux下写的shell守护进程,这回搞个windows下的bat版守护程序吧,当时晚上思路已经很迟钝了,就叫了个兄弟让他写了,上去后运行效果不错,至少昨晚我安心睡了7小时。
 
早上来把程序改完善一些,增加了记录等功能。
实现:
检查是否有notepad,要用的话就算成自己的进程名,如果进程宕了就过会自动重启(会在当前目录下生成一个start.bat)

@echo offset _task=notepad.exe
set _svr=c:\windows\notepad.exe
set _des=start.bat:checkstart
for /f "tokens=5" %%n in ('qprocess.exe ^| find "%_task%" ') do (if %%n==%_task% (goto checkag) else goto startsvr
):startsvr
echo %time%
echo ********程序开始启动********
echo 程序重新启动于 %time% ,请检查系统日志 >> restart_service.txt
echo start %_svr% > %_des%
echo exit >> %_des%
start %_des%
set/p=.<nul
for /L %%i in (1 1 10) do set /p a=.<nul&ping.exe /n 2 127.0.0.1>nul
echo .
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
del %_des% /Q
echo ********程序启动完成********
goto checkstart:checkag
echo %time% 程序运行正常,10秒后继续检查..
echo Wscript.Sleep WScript.Arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
goto checkstart

windows下bat批处理实现守护进程相关推荐

  1. windows下bat批处理实现守护多个进程

    同时守护多条进程 @echo off set task_one = task_one .exe set task_two =  task_two.exe set svr_one = 绝对路径\task ...

  2. Windows下bat批处理脚本常用场景整理,持续更新中。。。

    Windows下bat批处理脚本常用场景整理,持续更新中... 一.Winodws下使用bat脚本对结果进行筛选 例如:在筛选出来的结果中,筛选是否有"$G"字段 adb shel ...

  3. Windows下Bat批处理

    前段时间为了省去每次都需要用vs打开工程去编译每个工程的时间,写了批处理脚本,批量编译所有工程,以下附上工作过程中用到的比较有用的内容链接: 什么是批处理?(来自百度百科) 批处理(Batch),也称 ...

  4. windows下bat处理执行Mysql的sql语句

    这篇文章主要介绍了windows下bat批处理执行Mysql的sql语句,需要的朋友可以参考下 有时候我们需要用bat来定时执行mysql那么就可以参考下面的代码 直接上代码: @ECHO OFF S ...

  5. windows下使用批处理命令安装 tomcat 服务

    windows下使用批处理命令安装 tomcat 服务 1.准备 jdk的解压包 tomcat解压包 2.编写批处理命令(bat) 把jdk的解压包放到tomcat下的bin目录里(我这里直接使用的是 ...

  6. windows 下终止指定端口的进程

    windows 下终止指定端口的进程 一 . 查看端口内占用情况 netstat -aon|findstr "9050"协议 本地地址 外部地址 状态 PIDTCP 127.0.0 ...

  7. Windows系统bat批处理脚本实现暂停时间延迟方法

    描述:Windows系统bat批处理脚本实现暂停时间延迟方法 代码: @ping 127.0.0.1 -n 1 >nul

  8. WIndows下cmd报错退出进程,代码为1

    WIndows下cmd报错退出进程,代码为1 不知道什么原因出现了这种情况 参考微软官方回答(https://answers.microsoft.com/zh-hans/windows/forum/a ...

  9. Windows下如何查看被占用进程及结束进程?

    Windows下如何查看被占用进程及结束进程? 查找所有运行的端口命令:netstat -ano 查找被占用端口对应的PID:netstat -aon|findstr "2990" ...

最新文章

  1. 多条记录取最前面一条或根据条件任取N条
  2. 关于QSerialPort的使用说明(Qt实现串口工具)
  3. 如何使用ES6中的参数
  4. aspose excel中文文档_Excel实战技巧,如何将阿拉伯数字快速转换为中文大小写格式?...
  5. linux扩容后显示管理,linux之lvm管理及扩容
  6. mysql批量更新报错_Mysql批量更新的三种方式
  7. 在dropdownlist中使用enum
  8. 计算机六年级基础知识,《计算机基础知识》单元检测考试题六年级信息技术考试卷与考试题...
  9. WEB安全扫描器Netsparker推荐给大家
  10. 导致301状态码的可能的原因
  11. CSS3中设置元素转换中心点
  12. saltstack配置管理和数据系统
  13. vue3 滑块拼图验证登录(vue3-puzzle-vcode)
  14. 迅雷可以下载的文件是forum.php,调用迅雷下载开放引擎下载文件
  15. zabbix使用163邮箱实现监控报警(六)
  16. 看准网无限制查看评论
  17. 一个屌丝程序猿的人生(三十)
  18. 【Java图书馆系统app】基于Vue+Vant+SSM图书管理系统设计
  19. 如何快速掌握python函数_新手如何快速入门Python编程?
  20. java 图片数字水印_java_如何使用JAVA实现数字水印,数字水印有可见不可见之分, - phpStudy...

热门文章

  1. layui table 表格两种赋值方式下,data分页效果有效, url分页效果的失效 问题的解决。
  2. 解决Mac Chrome打开HTTPS证书错误问题
  3. win11未建立以太网怎么办 windows11未建立以太网的解决方法
  4. windows11怎么绕过tpm安装,win11在线安装
  5. StringUtils,FileUtils,PropertiesUtils,DataBaseUtils
  6. html标签之间去掉空白,html – 减少两个标签之间的空白差距
  7. uos系统虚拟机_UOS开箱体验
  8. python网页信息_利用python处理网页信息
  9. 五年级数学用计算机找规律教案,五年级数学教案——找规律教学设计
  10. cheat engine 将选中目标的函数_EXCEL函数与公式剖析:IF