0
我試圖在Linux上執行mvn插件exec:java作爲deamon。當我這樣做,「手動」從控制檯似乎工作:啓動mvn exec:java作爲linux守護進程
$ nohup mvn -f $PATH_TO_POM exec:java -Pxyz &
啓動守護程序和重定向通常的控制檯輸出到nohup.out文件。我無法弄清楚-P參數做什麼,但我可以用它來尋找啓動進程的PID,並殺死進程
$ pgrep -f xyz # returns some pid, e. g. 12345
$ kill 12345
當我嘗試從一個簡單的bash腳本中啓動的守護進程
# 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"
失敗,因爲執行文件上面再
$ ps -p 12345
存在與PID 12345沒有這樣的處理後,雖然上面的腳本提供的PID。
你爲什麼想以daemon方式運行中將exec Maven的插件?出於什麼目的 ? – khmarbaise
@khmarbaise,我們希望在開發過程中運行它,以便我們可以從源代碼快速啓動應用程序,無需中間構建步驟。應用程序外殼運行數天,並在服務器重啓後生存 – JCvanDamme
如何使用IDE來處理這些事情? – khmarbaise