2013-09-05 9 views
5

Ich möchte eine Java-Anwendung schreiben, die auf einem Unix-Rechner eingesetzt werden soll. Ich muss die laufenden Prozesse überprüfen - die auf der Box laufen. Könnte mir jemand ein Beispiel zeigen/in die richtige Richtung weisen?überprüfen Prozesse, die ausgeführt werden - java

+0

java.lang.ProcessBuilder + ps – Keith

+2

Was meinst du "überprüfen Sie die laufenden Prozesse"? Welche Informationen über die Prozesse benötigen Sie genau? – david

+0

Haben Sie versucht, googeln für „Wie am Laufen überprüfen verarbeitet linux“ – Grammin

Antwort

10

Wenn Sie die Ausführung von Java-Prozesse finden möchten, können Sie

ps -ef | grep java

verwenden Wenn Sie, welche Ports im Einsatz müssen prüfen,

netstat -tupln

1

ich auf einige kamen Alternativen für ps aux | grep java von Java zur Verfügung gestellt, die brauchen weniger tippen:

jcmd 

und

jps -v 

Die Option -v werden die Argumente an die JVM übergeben zeigen.

Wenn Sie erhalten Prozessinformationen nicht verfügbar dies sein könnte, weil der Prozess mit OpenJDK läuft. Wenn Sie root und der Prozess wurde mit einem Nicht-Root-Benutzer gestartet Sie folgendes sehen die Details (ersetzen <user> mit dem Benutzernamen) verwenden können:

sudo -u <user> jps -v 

Ein weiteres nettes Feature von jcmd ist, dass Sie können die Java-Version anzeigen, die ein bestimmte Prozess verwendet (bei ps aux | grep java es nicht zeigen), das ist, wie ich über die zwei kam (ersetzen <pid> mit der Prozess-ID):

jcmd <pid> VM.version 
Verwandte Themen