Как сделать так, чтобы процесс завершался при завершении другого процесса?

Как сделать так, чтобы процесс завершался при завершении другого процесса?

У меня Windows 8.1.

Вот моя ситуация: я играю в игру, которая требует стороннее ПО для записи геймплея. Я запускаю оба одновременно через BAT-файл:

@echo off
cd "C:\Riot Games\League of Legends\"
start lol.launcher.exe

cd "C:\Users\Craig\Dropbox\Programs\BaronReplays"
start BaronReplays.exe

exit

Можно ли как-то настроить его так, чтобы при завершении одного из этих процессов другой завершался вместе с ним?

решение1

Вам понадобится программа killer. Их много, но если вам не нужно изящное завершение работыpskillсделает эту работу.

В простейшем случае вам следует изменить ваш пакетный файл следующим образом:

@echo off
cd "C:\Users\Craig\Dropbox\Programs\BaronReplays"
start BaronReplays.exe

cd "C:\Riot Games\League of Legends\"
start /wait lol.launcher.exe

pskill BaronReplays.exe

exit

Это запустит записывающее устройство, затем игру, а когда игра закончится, остановит записывающее устройство, при этом ключевая команда — , которая start /waitприостанавливает выполнение пакетного файла до завершения запущенной программы.

Если вы хотите, чтобы одна из программ остановила другую, вам понадобятся два пакетных файла, каждый start /waitиз которых содержит файл одной программы, а затем файл pskillдругой.

Вам нужно запустить только один из пакетных файлов, поскольку он может запустить другой с помощью:-

start cmd /c OtherBatch.cmd`

Наконец, если вам нужно более сложное решение, вы можете взглянуть наNirCmd. Обе эти утилиты являются бесплатными.

Связанный контент