从父批处理中杀死子批处理

时间:2016-08-07 13:10:23

标签: windows batch-file

我有一个批处理文件,用于触发第二批启动另一个进程。批处理脚本在两个终端中作为两个不同的进程运行。

如果第一批处理终止并再次运行,我们需要先终止第二批处理,然后重新启动它。我们如何使用父批处理文件终止第二个进程?

当前的代码段如下。但是终止不会发生:

tasklist /FI "WINDOWTITLE eq Server" 2>NUL | find /I /N "Server">NUL

IF "%ERRORLEVEL%"=="0" (  
    TASKKILL /F /FI "WINDOWTITLE eq Server"  
    timeout /t 120 /nobreak  
    START "Server" "test.bat"  
) ELSE START "Server" "test.bat"

1 个答案:

答案 0 :(得分:-1)

这个脚本对我很有用:

@echo off
tasklist /FI "WINDOWTITLE eq Server" >nul 2>&1
IF "%ERRORLEVEL%"=="0" (  
    TASKKILL /F /FI "WINDOWTITLE eq Server" >nul 2>&1 
    timeout /t 5 /nobreak  
    START "Server" "test.bat"  
) ELSE (START "Server" "test.bat")
exit /b