Wie kann ich einen Prozess beenden, wenn ein anderer Prozess endet?

1

Ich bin auf Windows 8.1.

Hier ist meine Situation: Ich spiele ein Spiel, für dessen Aufzeichnung eine Software eines Drittanbieters erforderlich ist. Ich starte beide gleichzeitig über eine BAT-Datei:

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

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

exit

Kann ich irgendetwas verwenden, um es so einzurichten, dass, wenn einer dieser Prozesse endet, der andere mit ihm endet?

Craig
quelle

Antworten:

2

Sie benötigen einen Programmkiller. Es gibt eine Reihe von ihnen, aber vorausgesetzt, Sie brauchen keine ordnungsgemäße Abschaltung pskill werde den Job machen.

Im einfachsten Fall sollten Sie Ihre Batch-Datei folgendermaßen ändern:

@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

Dies startet den Rekorder, dann das Spiel, und wenn das Spiel beendet ist, stoppen Sie den Rekorder, wobei der Schlüsselbefehl der ist start /wait Dadurch wird die Batch-Datei angehalten, bis das gestartete Programm endet.

Wenn eines der beiden Programme das andere stoppen soll, benötigen Sie zwei Batch-Dateien mit jeweils einem start /wait von einem Programm, gefolgt von einem pskill des anderen.

Sie müssen nur eine der Stapeldateien starten, da die andere mit den folgenden Methoden gestartet werden kann:

start cmd /c OtherBatch.cmd`

Wenn Sie eine aufwändigere Lösung wünschen, können Sie sich diese ansehen NirCmd . Beide Dienstprogramme sind Freeware.

AFH
quelle
Hallo. Vielen Dank für die bisherige Hilfe. Das Problem ist, dass "lol.launcher.exe" eigentlich nur der Starter ist und der Prozess, der endet (und den ich auslösen möchte, um "BaronReplays.exe" zu beenden), "LolClient.exe" heißt. Wie kann man das umgehen?
Craig
NirCmd WaitProcess werde genau das tun. Sie müssen nach dem Starten des Startprogramms eine kurze Pause einlegen, um dem Client Zeit zum Starten zu geben, es sei denn, das Startprogramm wird nach dem Starten des Clients beendet. In diesem Fall können Sie es verwenden start /wait auf dem Launcher.
AFH