Board logo

标题: [数值计算] [已解决]批处理监控windows下指定多进程exe程序 [打印本页]

作者: wyq199161    时间: 2013-11-6 14:53     标题: [已解决]批处理监控windows下指定多进程exe程序

本帖最后由 wyq199161 于 2013-11-9 08:59 编辑

求助大神,想监控一个指定exe程序,该程序可同时起多个相同进程。例如:abc.exe 起了4个相同进程,如果有一个或多个相同进程挂掉 批处理脚本echo值返回ERR!,exit值返回 2;如果程序4个进程正常运行则echo值返回OK!,exit值返回 0; 注:0 代表 正常 ; 2 代表 错误。
作者: foxJL    时间: 2013-11-6 16:38

  1. @echo off&setlocal enabledelayedexpansion
  2. set/p s=指定进程:
  3. set/p v=进程数量:
  4. :start
  5. set "n="
  6. for /f %%i in ('tasklist/nh') do (if !s! equ %%i set/a n+=1)
  7. if %n% lss %v% (echo ERR-2) else (echo,OK-0)
  8. ping /n 5 127.1>nul
  9. goto start
复制代码

作者: PowerShell    时间: 2013-11-6 18:35

类似的问题我回答过,

http://www.bathome.net/viewthrea ... -process&page=2
作者: wyq199161    时间: 2013-11-6 22:50

回复 2# foxJL

您好,bat我不怎么会,但是我是想实现以下类似的效果,您的代码我运行了,并没有实现我想要得到的效果,希望您能在给指点指点 谢谢!
@echo off
for /f %%i in ('dir /s /b D:\Test\ ^| find /v /c ""') do (
    set n=%%i
)
if %n% equ 0 (
    echo OK!
    exit 0
) else if %n% equ 20 (
    echo ERR!
    exit 2
) else (
    echo   Warning!
    exit 1
)
pause
作者: foxJL    时间: 2013-11-6 23:00

  1. @echo off
  2. for /f %%i in ('tasklist/nh') do (if "abc.exe"=="%%i" set/a n+=1)
  3. if %n% lss 4 (
  4.     echo ERR!
  5.     exit 2
  6. ) else (
  7.     echo,OK!
  8.     exit 0
  9. )
  10. pause
复制代码

作者: wyq199161    时间: 2013-11-7 08:29

回复 5# foxJL


    thank you!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2