Mittwoch, 6. Juli 2011

Merkzettel: Java Prozesse beenden

Auch Java-Programme müssen manchmal mit Systemmitteln beendet werden. Dafür benötigt man die Prozess-ID PID. Diese kann beispielsweise auf einem UNIX oder LINUX-System mit dem Befehl ps angezeigt werden. Aber der Befehl führt oft nicht zum gewünschten Ergebnis:
> ps -A |grep java
  2016 ?           2:41 java
  5875 pts/2       0:05 java
 29278 ?           2:42 java
 26519 ?           0:23 java
 26623 ?           0:28 java
 26480 ?           0:24 java
 26146 ?           2:36 java
 26568 ?           0:24 java
 26668 ?           0:34 java
 26667 ?           1:10 java
  5588 pts/2       4:07 java
 26145 ?           0:10 java
  
Um herauszufinden, welcher Java-Prozess beendet werden soll bietet sich der Befehl <JAVA_HOME>/bin/jps an:
> /opt/java/jdk1.5/bin/jps
5996 Jps
26667 jar
5588 start.jar
5875 Main
29278 start.jar
5995 Main
  
Mehr Informationen erhält man mit den Optionen -v für die Argumente und -l für den Package Namen der Main-Klasse.
> /opt/java/jdk1.5/bin/jps -lv
6160 sun.tools.jps.Jps -Dapplication.home=/opt/regr/java/jdk1.5 -Xms8m
26667 XyzServer.jar
29278 /opt/jetty7.1.6/start.jar -Xmx1024M -Xms512M -Djetty.port=8080 -DSTOP.PORT=8079
  
Jetzt weiß ich das zu meinen Jetty-Server (mit Port 8080) die PID 29278 gehört!
> kill -9 29278
Und weg ist er! 

Keine Kommentare:

Kommentar veröffentlichen