Prozess nach Name und Besitzer töten?


12

Kennt jemand eine Anwendung / ein Dienstprogramm, mit dem ich Prozesse beenden und nach Prozessname und Prozessverantwortlicher filtern kann, bevor ich mich mit der Neuerfindung des Rads und dem Rollen meines eigenen Rads befasse ? Alternativ könnte dies durch Powershell geschehen? (Mein Powershell-Fu fehlt leider).

Ich habe beide angeschaut pskillund taskkill. Obwohl das pskillBeenden nach Prozessnamen möglich ist, kann ich nicht weiter nach Prozessverantwortlichen filtern. Ich habe mir WMI auch über wmic ( wmic process) angesehen, aber die WMI-Schnittstelle gibt den Prozessverantwortlichen nicht zurück (zumindest soweit ich das beurteilen kann), kann dies also auch nicht verwenden.

Begründung
Ich mache einen Teil der Entwicklung unter Windows. Ein Teil davon beinhaltet den Umgang mit Komponentendiensten (COM +). COM + hat einen generischen Host-Prozess - dllhost.exe - der sowohl für benutzerdefinierte (dh von mir entwickelte) Elemente als auch für Systemprozesse verwendet wird. Ich kann sie nach dem Eigentümer unterscheiden, als den sie geführt werden. So möchte ich beispielsweise alle Prozesse von dllhost.exe beenden, die mir gehören, aber die Prozesse von SYSTEM ignorieren.

Dies würde es mir ersparen, regelmäßig zum Task-Manager zu gehen und jeden einzelnen zu identifizieren und manuell zu töten :-)

Antworten:


5

In Powershell würden Sie tun:

gwmi -query "select * from win32_process where name='PROCESSNAME.exe'" | %{if($_.GetOwner().User -eq 'USERNAME'){$_.terminate()}}

Ah - ausgezeichneter Beifall. Das funktioniert gut :-)
Chris J

24

Du hast nicht hart genug gesucht.

taskkill /f /fi "imagename eq foo.exe" /fi "username eq Chris"

Sie können sogar nach geladenen Modulen filtern, indem Sie /fi "modules eq libfoo.dll".


2
Viel einfacher als die PS-Methode :)
EBGreen

Du hast recht - ich habe nicht genau genug gesucht. Das ist schlecht von mir.
Chris J
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.