Für ein Beispiel laufen hier einmal 3 Java-Programme (inkl. JBoss) gleichzeitig:
Wie man erkennen kann, gibt jps auch die Prozess-ID aus, was uns helfen wird den Prozess zu beenden. Wenn man den Prozess, den man beenden will herausgefunden hat, sucht man sich ein Teil aus der Kommandozeile aus, der ziemlich eindeutig ist. Ich nehme für den JBoss z.B. run.bat. Hiermit habe ich nun die Möglichkeit mit einer Pipe und einer Suche die Prozess-ID zu finden, um den JBoss zu beenden. Meine Batch sieht folgendermaßen aus:
@echo off set jps_path=c:\Program Files\Java\jdk1.7.0_03\bin\ set command=jps -v cd /d "%jps_path%" FOR /f "tokens=1" %%G IN ('%command% ^| find "run.bat"') DO taskkill /f /pid %%G
Einfach den Schnipsel unter kill_JBoss.bat speichern, starten und nur der JBoss wird beendet. Der Pfad zum Bin-Ordner des JDK muss eventuell noch angepasst werden. Der Suchbegriff (hier: run.bat" steht in der for-Schleife und kann auf euren Prozess angepasst werden.
Im Ergebnis sieht das ganze dann so aus (Ich gebe vorher noch einmal alle Java-Prozesse aus):
Keine Kommentare:
Kommentar veröffentlichen