amista
Goto Top

per Batch automatisch PID heraussuchen und Prozesse killen

Hallo zusammen,

Suche schon vergeblich eine Möglichkeit per Skript die PID eines Prozesses heraus zu finden und diesen zum killen des Prozesses benutzen.
Der "imagename" ist bekannt. Hab "eigentlich" nur das Problem den PID Wert in eine Variable zu speichern und diese dann beim taskkill aufzurufen.
Derzeit sieht es so aus, bin aber offen für jegliche Lösungen

set outo=%tasklist /FI "imagename eq prozess.exe" /FO LIST | grep -n 2 | cut -c 20-25%


Umgebung:
Windows Server 2003 std.

Vielen Dank im Voraus

mfg
amista

Content-ID: 91538

Url: https://administrator.de/contentid/91538

Ausgedruckt am: 14.11.2024 um 19:11 Uhr

Natureshadow
Natureshadow 08.07.2008 um 15:12:52 Uhr
Goto Top
Erstmal danke für die Info, dass es im Windows Server grep und cut gibt - wahrscheinlich noch original GNU-Versionen face-big-smile ...

Damit bist du ja schon ein ganze Stück weit, ich hätte alternativ das hier im Angebot: http://www.beyondlogic.org/solutions/processutil/processutil.htm

Grüße,
Nik
amista
amista 08.07.2008 um 15:38:57 Uhr
Goto Top
Hab mir einfach die UnixUtl runtergeladen un in die Umgebung eingebunden.
geht auch ganz ok, bis auf die Geschichte mit den Variablen deklarationen face-sad.
Iss halt keine shell.

http://sourceforge.net/projects/unxutils

Vielen Dank auf jeden Fall für den Tipp, könnte mein Problem ganz unkompliziert lösen.
Biber
Biber 08.07.2008 um 19:42:58 Uhr
Goto Top
Moin amista,

willkommen im Forum.

Nu' lass uns aber hier wegen so einem Firlefanz keine Tool-Materialschlachten anfangen.

Sowohl die SubString-Ausschneide-Funktionalität des CUT-Utilities wie auch das zeilenweise Filtern des Grep bringt die CMD.exe mit.
Brauchst Du aber beides nicht in diesem Fall.
CMD-prompt-Demo:
>for /f "delims=, tokens=2" %i in ('tasklist /FO csv /FI "imagename eq outlook.exe"') do @echo PID %~i  

Batch-Version:
@echo off & setlocal
....
for /f "delims=, tokens=2" %%i in ('tasklist /FO csv /FI "imagename eq outlook.exe"') do Set PID=%%~i  
...
Echo Pid To Kill: %PID%
...

Und eigentlich brauchst Du auch die PID garnienicht, denn Du kannst auch direkt das TaskKill-Utility aufrufen mit einem Imagenamen. Siehe TaskKill /?.

Grüße
Biber
Natureshadow
Natureshadow 08.07.2008 um 20:57:03 Uhr
Goto Top
Ich esse niemals Shells :-P

Danke für den Link!
Natureshadow
Natureshadow 08.07.2008 um 21:01:23 Uhr
Goto Top
Sehr schön, danke für den Exkurs im Batch-Scripting!

-nik
amista
amista 11.07.2008 um 07:45:06 Uhr
Goto Top
Vielen Dank für den netten Empfang Biber,

bin derzeit leider mehr oder weniger mit der shell vertraut als mit den von Windows mitgelieferten Möglichkeiten. Deine Scripts helfen mir aber sehr weiter. Bin auch kein Fan von vielen Tools, wenn es nicht unbedingt notwendig ist.

mfg
amista