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

标签 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"

最佳答案

这个脚本很适合我:

@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

关于windows - 从父批中杀死子批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38814483/

相关文章:

c - Hook - 热修补

Windows 7,64 位,DLL 问题

windows - 使用Xming的X over SSH-Qt Qml应用程序

python - 在windows上安装python/sphinx环境?

bash - 在批处理文件中将反斜杠转换为转发

Windows 批处理文件 : set string+number variables to contents of cmd-line parameters?

windows - 如何在 BATCH 文件中记录所有 ECHO 命令?

c++ - 解除分配不会释放 Windows/C++ 应用程序中的内存

batch-file - 如何从批处理文件覆盖文本文件

java - 使用批处理程序编译Jar文件