Como posso encerrar um processo quando um processo diferente termina?

Como posso encerrar um processo quando um processo diferente termina?

Estou no Windows 8.1.

Esta é a minha situação: jogo um jogo que requer software de terceiros para gravar o jogo. Eu inicio os dois ao mesmo tempo através de um arquivo 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

Existe algo que eu possa usar para configurá-lo de forma que, quando um desses processos terminar, o outro termine junto?

Responder1

Você precisará de um matador de programas. Existem vários deles por aí, mas desde que você não precise de um desligamento elegantehabilidadefará o trabalho.

No caso mais simples, você deve alterar seu arquivo em lote para: –

@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

Isso iniciará o gravador, depois o jogo, e quando o jogo terminar, interromperá o gravador, sendo o comando chave o start /waitque suspende o arquivo em lote até que o programa iniciado termine.

Se quiser que um programa pare o outro, você precisará de dois arquivos em lote, cada um com um start /waitde um programa, seguido por um pskilldo outro.

Você só precisa iniciar um dos arquivos em lote, pois pode iniciar o outro usando: –

start cmd /c OtherBatch.cmd`

Finalmente, se você quiser uma solução mais elaborada, você pode olhar paraNirCmd. Ambos os utilitários são freeware.

informação relacionada