Das Beenden einer Aufgabe im Taskmanager funktioniert, aber Taskkill in cmd nicht. Warum?

Das Beenden einer Aufgabe im Taskmanager funktioniert, aber Taskkill in cmd nicht. Warum?

Ich muss eine Software jedes Mal beenden, wenn sie mit der Transkodierung einer Filmdatei fertig ist. Um dies zu automatisieren, habe ich ein kleines Batch-Skript erstellt. Darin habe ich versucht, Taskkill wie folgt zu verwenden:

taskkill /im taskname.exe /t /f

Ich erhalte jedoch immer die folgende Fehlermeldung: FEHLER: Der Prozess mit PID 6708 konnte nicht beendet werden. Grund: Es gibt keine laufende Instanz der Aufgabe.

Ich habe auch versucht, das cmd-Fenster als Administrator zu starten, und ich habe auch PowerShell ausprobiert. Aber wenn ich danach die Taskliste ausführe, wird die Aufgabe immer noch angezeigt.

Das Komische ist, dass die Aufgabe sofort beendet wird, wenn ich im Taskmanager mit der rechten Maustaste darauf klicke und die Aufgabe beende. Welchen Befehl ruft „Aufgabe beenden“ im Taskmanager auf? Etwas, das ich zur Automatisierung in einer Batchdatei verwenden kann?

Antwort1

Wie vorgeschlagen vonbarlopdie Drittanbieter-Befehlszeilen-App nircmd.exe hat die Arbeit erledigt!

nircmd.exe killprocess processname

Antwort2

Wenn Sie es nicht über den Namen beenden können, aber über die Prozess-ID verfügen, können Sie versuchen, es über die PID zu beenden:

for /f "delims== tokens=2" %%i in ('WMIC process where "Name='process.exe'" get ProcessId /value') do set pid=%%i 
echo Going to kill PID: %pid%
taskkill.exe /PID %pid%

verwandte Informationen