广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-02-24
    【导读】:
    有没有遇到windows服务器上需要一直运行的某个程序,常常自动退出?如果有,那快来试试这篇经验吧,利用批处理脚本来实现实时检测进程,发现进程结束自动启动!一、原代码1/2分步阅读

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

    @echo off

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

    set AppName=NetbootM.exe

    set AppPath=E:dyc-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% 2nul 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.1nul

    goto startjc

    echo on

    2/2

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

    二、知识点1/6

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

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

    2/6

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

    3/6

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

    4/6

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

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

    5/6

    start notepad 2nul echo 启动程序成功

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

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

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

    6/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秒的功能,但这个延时不够精确,且跟运行的电脑有关。

    注意事项

    如果认为本经验对您有所帮助,请点击下面【投票】支持一下作者!

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_132293.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 01:19:19  耗时:0.024
    0.024s