windows .bat批处理实现进程监控确保程序运行

2025-10-27 21:51:05

1、打开“记事本”,将以下代码写入,然后保存文件为:jk.bat

@echo off 

rem 定义需监控程序的进程名和程序路径,可根据需要进行修改

set AppName=NetbootM.exe

set AppPath=E:\sdyc-v1.3\

title 进程监控

cls

echo.

echo 进程监控开始……

echo.

rem 定义循环体

:startjc

   rem 从进程列表中查找指定进程

   rem  下面语句也可写成 qprocess %AppName% >nul (经验发布后补充)

   qprocess|findstr /i %AppName% >nul

   rem 变量errorlevel的值等于0表示查找到进程,否则没有查找到进程

   if %errorlevel%==0 (

         echo ^>%date:~0,10% %time:~0,8% 程序正在运行……

    )else (

           echo ^>%date:~0,10% %time:~0,8% 没有发现程序进程

           echo ^>%date:~0,10% %time:~0,8% 正在重新启动程序

           start %AppPath%%AppName% 2>nul && echo ^>%date:~0,10% %time:~0,8% 启动程序成功

   )

   rem 用ping命令来实现延时运行

   for /l %%i in (1,1,10) do ping -n 1 -w 1000 168.20.0.1>nul

   goto startjc

echo on

windows .bat批处理实现进程监控确保程序运行

2、双击jk.bat文件运行脚本,运行效果如下:

windows .bat批处理实现进程监控确保程序运行

1、qprocess|findstr /i %AppName% 即 qprocess|findstr /i NetbootM.exe

首先用qprocess命令显示当前系统所有可进程列表,也可用tasklist命令替代,再通过“|”管道符,将结果做为findstr命令的查找源文件,即用findstr命令从进程列表中查找 “NetbootM.exe”,符合条件则输出,用/i参数表示查找不区别大小字。

windows .bat批处理实现进程监控确保程序运行

windows .bat批处理实现进程监控确保程序运行

2、>nul 表示将命令的标准输出结果重定向到空设备,即不显示在屏幕上。

windows .bat批处理实现进程监控确保程序运行

3、%errorlevel%是系统变量,当前一个命令运行成功,它的值为0,否则它的值大于0。

windows .bat批处理实现进程监控确保程序运行

4、%date:~0,10% %time:~0,8%:变量%date%、%time%分别表示当前日期和时间;

%var:~0,10%可用于对变量%var%进行字符截取。“~”表示:从左边开始;“0,10”表示:从0位以后,截取10个字符。

windows .bat批处理实现进程监控确保程序运行

5、start notepad 2>nul && echo  启动程序成功

start命令用于启动程序,后面跟需运行的程序,如程序可执行文件在系统变量%path%所含目录中或跟脚本在同一目录可不跟文件路径,否则需输入完整路径。

2>nul 表示将标准错误输出重定向到空设备,即标准错误输出不显示出来。

逻辑运算符“&&”表示只有在符号 && 前面的命令成功时,才用于运行该符号后面的命令。

windows .bat批处理实现进程监控确保程序运行

6、  for /l %%i in (1,1,10) do ping -n 1 -w 1000 168.20.0.1

for /l  %i in (1,1,10)  do 表示变量%i的初始值为1,当%i小于等于10时,运行do后面的命令语句,同时%i自增1,直到%i大于10结束循环。其中%i在脚本要写成%%i。

ping 命令 -n参数表示发送1个icmp包,-w 1000 表示等待回复的超时时间为1秒,后面跟一个不可能ping通的IP,来实现延时1秒的功能,但这个延时不够精确,且跟运行的电脑有关。

windows .bat批处理实现进程监控确保程序运行

windows .bat批处理实现进程监控确保程序运行

windows .bat批处理实现进程监控确保程序运行

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢