启动mvn exec:java作为linux守护进程

时间:2017-06-21 11:44:08

标签: linux bash maven process daemon

我正在尝试执行mvn插件exec:java作为linux上的deamon。当我这样做时,手动"从控制台它似乎工作:

$ 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,但是没有PID 12345这样的过程。

1 个答案:

答案 0 :(得分:0)

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

没有/ tmp工作