标题: [系统相关] 批处理BAT如何判断进程是否失败并重新运行进程? [打印本页]
作者: mao2mao515 时间: 2014-2-24 11:34 标题: 批处理BAT如何判断进程是否失败并重新运行进程?
.bat 脚本求组!!!!急
我要做一份.bat脚本
有A.B.两个进程
当A进程运行失败
判断 A.B 进程两个 都失败 , 同时,试图重新运行A,B 进程
PS:
A,B 进程运行之前先执行 “process clean”命令初始化进程。
然后执行A,B进程。
作者: Batcher 时间: 2014-2-24 12:30
- @echo off
- set "ProcesA=a.exe"
- set "ProcesB=b.exe"
- set StatusA=0
- set StatusB=0
- set StatusTwo=0
- tasklist | findstr "\<%ProcesA%\>" || set StatusA=1
- tasklist | findstr "\<%ProcesB%\>" || set StatusB=1
- set /a StatusTwo=StatusA+StatusB
- if %StatusTwo% equ 2 (
- process clean
- start %ProcesA%
- start %ProcesB%
- )
复制代码
作者: mao2mao515 时间: 2014-2-24 17:07
回复 2# Batcher
我执行这个时候 , 弹出2个cmd 窗口。
能不能 句尾添加以下 ,关闭这个执行后的2个窗口呢?
作者: Batcher 时间: 2014-2-24 17:32
回复 3# mao2mao515
最下面加一行:复制代码
作者: mao2mao515 时间: 2014-2-25 15:40
回复 4# Batcher
----------------------- tbboot.bat 文件内容------------------------------
cd C:\Tibero\tibero5\bin
start tbboot.bat -w
timeout /t 10
taskkill /F /IM wscript.exe
timeout /t 5
tasklist | find /c "tbsvr.exe" >= 0
if %ERRORLEVEL% == 0 goto case1
if %ERRORLEVEL% == 1 goto case2
:case1
exit 0
:case2
start tbdown clean
timeout -t 5
start tbboot.bat -w
timeout /t 10
taskkill /F /IM wscript.exe
exit 0
---------------------------------------------------tbdown.bat 文件内容 -------------------------------------------
cd C:\Tibero\tibero5\bin
start tbdown.bat -w
timeout /t 10
taskkill /F /IM wscript.exe
timeout -t 3
tasklist | find /c "tbsvr.exe" >= 0
if %ERRORLEVEL% == 0 goto case1
if %ERRORLEVEL% == 1 goto case2
:case1
timeout /t 5
taskkill /f /im tbsvr.exe
exit 0
:case2
timeout /t 10
exit 0
-------------------------------------------------clean.bat -----------------------------------------
start C:\Tibero\tibero5\bin\tbdown clean
exit 0
以上3个文件能不能用if文件来使用?就像第一次回复的那样。。。
tbsvr.exe 和 tblistener.exe 中 tbsvr.exe 进程有问题
就判断为故障。
然后先执行tbdown clean 命令之后执行 tbboot.bat 命令
啊,麻烦您的,我的头都快要爆炸了
作者: mao2mao515 时间: 2014-2-25 15:41
tbboot文件用 If语句
tbdown文件用 if语句
clean.bat文件就不用了~~~
作者: Batcher 时间: 2014-2-25 16:00
不知道你说的 以上3个文件能不能用if文件来使用 是什么意思
作者: mao2mao515 时间: 2014-2-25 16:34
回复 7# Batcher
可能我对语法不了解
就像java的 if ,else 语句样
不用case 语句, 用 if 语句能否实现呢?
作者: Batcher 时间: 2014-2-25 17:14
回复 8# mao2mao515
主要是不知道你想干什么
是把那3个bat文件合并成一个吗?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |