2017-06-21 4 views
0

mvnプラグインを実行しようとしています。exec:javaをlinuxのデーモンとして実行します。私はそれを行う場合は、「手動」コンソールから動作するようです:mvn exec:javaをLinuxデーモンとして起動

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

がデーモンを起動し、ファイルnohup.outに通常のコンソール出力をリダイレクトします。私は、-Pパラメータが何をするかを見つけ出すことができませんでしたが、私はシンプルなbashスクリプト内からデーモンを起動しようとすると私は、起動プロセスのPIDを見つけるためにそれを使用することができますし、プロセスに

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

を殺すために

# 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" 

が失敗した、上記のスクリプトは、PIDを提供しているが

$ ps -p 12345 
上記のファイルを実行した後、次いで、PID 12345を有するそのようなプロセスは、存在しないからです。/tmpにせずに

+0

に動作しますか?どのような目的のために? – khmarbaise

+0

@khmarbaiseのように、私たちは中間ビルドステップなしでソースコードからアプリケーションをすばやく起動できるように開発中に実行したいと考えています。アプリケーションシェルは数日間実行され、サーバーの再起動後も生き残る – JCvanDamme

+0

IDEを使ってこのようなことをどうしたらよいですか? – khmarbaise

答えて

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

は、なぜあなたはデーモンモードでのexec-のmaven-プラグインを実行したいと思います

関連する問題