У меня есть несколько процессов с одним и тем же именем (скажем, несколько процессов FIREFOX.exe). Затем пакетный скрипт открывает другой процесс firefox.exe и по истечении некоторого предопределенного времени должен завершить открытый процесс.
У меня было следующее решение для этого
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "ABC" -no-remote
PING 127.0.0.1 -n 10 -w 1000 >NUL
for /F "TOKENS=1,2,*" %%a in ('tasklist /FI "IMAGENAME eq firefox.exe"') do set MyPID=%%b
taskkill /PID %MyPID% /T
Это прекрасно работает, ЗА ИСКЛЮЧЕНИЕМ, если после 1-й команды открывается другой процесс с таким же именем (firefox.exe) (т. Е. Работает firefox), команда taskkill фактически убивает самый последний процесс вместо того, который был запущен
Итак, как мне убедиться, что скрипт убивает только процесс, который он начал, и ничего другого.