@ECHO ON
:: -- Set app
::SET App=%windir%\system32\notepad.exe
SET App=calc
:: -- Set parent and child PID temp files
SET pTmpFile=%temp%\~tmppParsePID_%~nx0.tmp
SET cTmpFile=%temp%\~tmpcParsePID_%~nx0.tmp
SET pPIDFile=%temp%\PID_Parent%~nx0.pid
SET cPIDFile=%temp%\PID_Child%~nx0.pid
WMIC PROCESS CALL CREATE "CMD /K WMIC PROCESS CALL CREATE "%App%" | FIND "ProcessId">"%cTmpFile%"" | FIND "ProcessId">"%pTmpFile%"
:: -- Parse PID files to get PID numeric value
FOR /F "DELIMS==; TOKENS=2" %%F IN (%pTmpFile%) DO ECHO %%~F>"%pPIDFile%"
FOR /F "DELIMS==; TOKENS=2" %%F IN (%cTmpFile%) DO ECHO %%~F>"%cPIDFile%"
:: Set PID values as variables
SET /P pPID=<"%pPIDFile%"
SET /P cPID=<"%cPIDFile%"
:pPIDCheck
WMIC PROCESS GET PROCESSID | FINDSTR %pPID%
IF %ERRORLEVEL%==1 (TASKKILL /PID %cPID% && EXIT) ELSE (GOTO :pPIDCheck)
EXIT