2017-01-27 4 views
3

Ich habe das folgende Skript:Get Prozess Anzahl der Java-Anwendung

java -cp "some-classpath" my.package.MyClass 
echo $1 > "$java_file" 

Der Java-Prozess startet einen Server.

Ich möchte die Prozess-ID des Java-Befehls erhalten und in die Datei $java_file schreiben. Dann benutze ich den Server.

Nichts wird jedoch in die Datei geschrieben.

Wie kann ich die Prozess-ID bekommen?

Antwort

4

sollten Sie verwenden:

java -cp "some-classpath" my.package.MyClass & 
echo $! > "$java_file" 
+0

Die PID geschrieben Datei, so dass dies funktioniert. Ich bekomme jedoch einen Fehler vom Java-Prozess 'java.net.BindException: Address in use '. Dies erschien vorher nicht. Irgendwelche Ideen? – octavian

+0

Ich denke, dass ich das tue. Ich nehme an, dass Sie den Prozess beim Beenden der Anwendung nicht stoppen. Beenden Sie einfach "" bevor Sie eine andere Instanz starten. Stellen Sie sicher, dass Sie 'System.exit (0)' aufrufen, um die Anwendung zu beenden. Nicht von 'main' zurückkehren – xenteros

Verwandte Themen