Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

tasklist - Prozesse beenden

Empfohlene Antworten

Veröffentlicht

Hallo, vielleicht kann mir jemand weiterhelfen. Ich möchte folgendes in einer batch realisieren: Mittels des tasklist-Befehls und dem Parameter /FI lasse ich mir eine Liste von Prozessen anzeigen.

@echo off

tasklist /FI "username eq lehmanns" /FI "imagename ne explorer.exe" /FI "imagename ne cmd.exe" /FI "imagename ne realmon.exe" /FI "imagename ne ctfmon.exe" /FI "imagename ne fpassist.exe" /FI "imagename ne jusched.exe" /FI "imagename ne hqtray.exe" /FI "imagename ne jucheck.exe" /FI "imagename ne tasklist.exe"

pause

So sieht die batch bisher aus. Das ist leider nur die Ausgabe der Prozesse. Nun möchte ich diese innerhalb der batch auch gleich alle beenden. Ich dachte, dass ich einfach alle Prozesse mit einer Schleife in Variablen speichern kann, weiß aber nicht wie ich das realisieren soll. Hat vielleicht jemand eine Idee? :beagolisc


@echo off


tasklist /FI "imagename eq svchost.exe" > foo.txt


FOR /F "tokens=2 skip=3" %%i IN (foo.txt) DO (

	ECHO PID: %%i wird beendet

	taskkill /PID %%i

	)

Das geht auch direkt über taskkill.exe mit dem Schalter "/IM".

Bearbeitet von lupo49

  • Autor

Danke, für deine schnelle Antwort. Das mit dem "> *.txt" hatte ich auch schon gefunden, nur funktioniert es in diesem Fall nicht; vermutlich ist die Abfrage zu lang?

Das geht auch direkt über taskkill.exe mit dem Schalter "/IM".

Ich weiß schon, nur dann müsste ich jeden Prozess manuell eingeben :)

Bearbeitet von Kadaj

  • Autor

Ok, ich nehme alles zurück und behaupte das Gegenteil:old

Es wird zwar ausgegeben, dass der Befehl ungültig ist, aber die batch-Datei macht trotzdem was sie machen soll :confused: sehr seltsam

Einziges Problem ist noch, dass jeder Prozess nur einmal beendet wird. Wenn ich 2 pdf-Dokumente offen habe, dann wird nur eins beendet, aber das sollte ja auch kein Problem sein.

Vielen Dank lupo49

Bearbeitet von Kadaj

  • Autor

tasklist.jpg

Der Prozess taucht immer nur einmal auf, auch wenn ich mehrere PDFs offen habe. Das Problem ist aber, dass er trotzdem immer nur eine PDF schließt und der prozess so lange vorhanden ist, bis alle PDFs geschlossen sind. Da musst ich mir was anderes einfallen lassen. Zuerst hatte ich eine Schleife, die sich so lange wiederholt, bis sich der errorlevel ändert, aber da taskkill erst eine Fehlermeldung ausgeben musste, bis die Schleife abbricht, hab ich lieber was anderes genommen. So sieht es aus:

@echo off


:anfang


tasklist /FI "username eq lehmanns" /FI "imagename ne explorer.exe" /FI "imagename ne acrord32info.exe" /FI "imagename ne firefox.exe" /FI "imagename ne cmd.exe" /FI "imagename ne realmon.exe" /FI "imagename ne ctfmon.exe" /FI "imagename ne fpassist.exe" /FI "imagename ne jusched.exe" /FI "imagename ne hqtray.exe" /FI "imagename ne jucheck.exe" /FI "imagename ne tasklist.exe" > prozess.txt



FOR /F "tokens=2 skip=3" %%i IN (prozess.txt) DO (

	ECHO PID: %%i wird beendet

	taskkill /PID %%i

	)


for /R %%A in (prozess.txt) do (

    for %%I in ("%%A") do call :varBytes "%%A" %%~zI

)


:varBytes

   SET end=B

   SET /A var=%2


echo Die Datei %1 ist %var% %end% gross


if %var% == 0 (

	echo Die Prozesse wurden alle beendet.

	goto :ende

	) ELSE ( 

	echo Sprung zum Anfang. Die Prozesse werden neu ermittelt...

	goto :anfang

	)


:ende


pause

Am Ende überprüft er einfach ob die Datei, in der die Prozesse gespeichert wurden leer ist. Wenn ja, dann ist er fertig und wenn nicht, macht er die Prozessabfrage nochmal, speichert die Prozesse erneut und beendet sie wieder.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.