Gibt es eine Möglichkeit, eine Windows-.bat-Datei zu schreiben, um Prozesse abzubrechen?

StackOverflow https://stackoverflow.com/questions/33822

  •  09-06-2019
  •  | 
  •  

Frage

Jedes Mal, wenn ich meine firmeneigene Entwicklungsmaschine einschalte, muss ich mehr als 10 Prozesse mit dem Task-Manager oder einer anderen Prozessverwaltungs-App beenden, um eine anständige Leistung aus meiner IDE herauszuholen.Ja, das sind Prozesse von Programmen, die mein Unternehmen aus Sicherheits- und Compliance-Gründen auf meinem Computer installiert.Was ich tun möchte, ist eine .bat-Datei oder ein Skript, das ich einfach starten und die betreffenden Prozesse beenden kann.

Weiß jemand schon, wie man das macht?

War es hilfreich?

Lösung

Sie können dies mit „taskkill“ tun.Mit dem Parameter /IM können Sie Bildnamen angeben.Beispiel:

taskkill /im somecorporateprocess.exe

Sie können dies auch tun, um das Töten zu erzwingen:

taskkill /f /im somecorporateprocess.exe

Fügen Sie einfach eine Zeile pro Prozess hinzu, den Sie beenden möchten, speichern Sie ihn als .bat-Datei und legen Sie ihn in Ihrem Startverzeichnis ab.Problem gelöst!

Wenn es sich um ein Legacy-System handelt, PsKill werde das Gleiche tun.

Andere Tipps

taskkill /f /im "devenv.exe"

Dadurch wird die PID mit dem Exe-Namen „devenv.exe“ zwangsweise beendet.

entspricht -9 beim Befehl nix'y kill

Da TASKKILL auf einigen Home-/Basic-Editionen von Windows möglicherweise nicht verfügbar ist, finden Sie hier einige Alternativen:

TSKILL processName

oder

TSKILL PID

Denken Sie daran processName sollte das nicht haben .exe Suffix und ist auf 18 Zeichen begrenzt.

Eine andere Möglichkeit ist WMIC :

wmic Path win32_process Where "Caption Like 'MyProcess.exe'" Call Terminate

wmic bietet noch mehr Flexibilität als taskkill .With wmic Path win32_process get Sie können die verfügbaren Dateien sehen, die Sie filtern können.

Ich gehe davon aus, dass Sie als Entwickler ein gewisses Maß an administrativer Kontrolle über Ihren Computer haben.Wenn ja, führen Sie über die Befehlszeile msconfig.exe aus.Mit den oben genannten Lösungen können Sie verhindern, dass viele Prozesse überhaupt gestartet werden, sodass sie nicht mehr beendet werden müssen.

Erhalten Autoruns von Mark Russinovich, dem Sysinternals-Typ, der das Sony Rootkit entdeckt hat ...Die beste Software, die ich je verwendet habe, um Dinge zu bereinigen, die automatisch gestartet werden.

Herunterladen PSKill.Schreiben Sie eine Batchdatei, die sie für jeden Prozess aufruft, den Sie beenden möchten, und übergeben Sie dabei jeweils den Namen des Prozesses.

Verwenden Sie Powershell!Integrierte Cmdlets zum Verwalten von Prozessen. Beispiele hier (auf die harte Tour), Hier(eingebaut) und Hier (mehr).

Nachfolgend finden Sie die Logik, in der sie unter der Bedingung funktioniert.

Wenn wir einfach anrufen taskkill /im applicationname.exe, es wird nur beendet, wenn dieser Prozess ausgeführt wird.Wenn dieser Prozess nicht ausgeführt wird, wird ein Fehler ausgegeben.

Um es vorher zu überprüfen takskill aufgerufen wird, kann eine Prüfung durchgeführt werden, um sicherzustellen, dass sie ausgeführt wird taskkill wird nur ausgeführt, wenn der Prozess ausgeführt wird, sodass kein Fehler ausgegeben wird.

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul

if errorlevel 1 taskkill /f /im "applicationname.exe"

Hier habe ich einen Beispielbefehl geschrieben, den Sie in Ihren einfügen können cmd Befehlszeilen-Eingabeaufforderung und ist dafür geschrieben chrome.exe.

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)

Das for nimmt einfach alles PIDs sind unten aufgeführt tasklist Befehl und führt aus TASKKILL /PID auf jedem PID

tasklist /FO Table /M "chrome*" /NH

Wenn Sie for in einer Batchdatei verwenden, verwenden Sie einfach %%P anstelle von %P

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top