2017-06-21 3 views
0

Ich versuche, das mvn-plugin exec: java als deamon auf linux auszuführen. Wenn ich es tun „manuell“ von der Konsole scheint es zu funktionieren:Launch mvn exec: java als linux-dämon

$ nohup mvn -f $PATH_TO_POM exec:java -Pxyz & 

den Daemon startet und leitet die übliche Konsolenausgabe in der Datei nohup.out. Ich konnte nicht herausfinden, was der Parameter -P tut, aber ich kann es verwenden, um die pid des Starts Verfahren zu finden, und der Prozess

$ pgrep -f xyz   # returns some pid, e. g. 12345 
$ kill 12345 

zu töten Wenn ich versuche, den Daemon zu starten, aus einem einfachen Bash-Skript

# this is part of bash script in separate file 
$ nohup mvn -f $PATH_TO_POM exec:java -Pxyz /tmp 2>> /dev/null >> /dev/null & 
$ pgrep -f xyz   # returns some pid, e. g. 12345 
$ jps -l    # shows that 12345 belongs to org.codehaus.plexus.classworlds.laucher.Laucher 
$ jps -m    # shows "12345 Launcher -f $PATH_TO_POM exec:java -Pxyz /tmp" 

es nicht, denn nach der Datei über die Ausführung und dann

$ ps -p 12345 

gibt es kein solches Verfahren mit PID 12345, obwohl das Skript über die PID liefert.

+0

Warum möchten Sie die exec-Maven-Plugin im Daemon-Modus laufen zu lassen? Für welchen Zweck ? – khmarbaise

+0

@khmarbaise, wir möchten es während der Entwicklung so ausführen, dass wir die Anwendung ohne Zwischenschritte aus dem Quellcode schnell starten können. Die Anwendungsshell läuft mehrere Tage und überlebt einen Serverneustart – JCvanDamme

+0

Was ist mit der Verwendung Ihrer IDE für solche Dinge? – khmarbaise

Antwort

0
$ nohup mvn -f $PATH_TO_POM exec:java -Pxyz 2>> /dev/null >> /dev/null & 

ohne/tmp arbeitet

Verwandte Themen