jarファイルを起動してバックグラウンドで実行するためのbashスクリプトを作成しようとしています。そのため私はnohup
を使用しています。今はjavaプロセスのpidを取得できますが、プロセスが終了したらコマンドを実行できるようにする必要もあります。プロセスIDを取得する方法と、プロセスがbashスクリプトで終了したときにトリガーを追加する方法はありますか?
これは私がまた;
を使用すると、コマンドは最初の1が終了した後に実行させるだろうということthis answerから知っている
nohup java -jar jarfile.jar & echo $! > conf/pid
を開始する方法です。
nohup java -jar jarfile.jar; echo "done"
echo "done"
は、単なる例に過ぎません。今私の問題は、それらをどのように組み合わせるのか分かりません。 echo $!
を最初に実行すると、すぐにecho "done"
が実行されます。 echo "done"
が最初に行く場合、echo $!
は、jarfileの1つではなくecho "done"
というPIDを取得します。
PIDがもう表示されなくなるまで、ポーリングによって欲望の機能を達成できることは分かっています。しかし、私はできるだけそれを避けたいです。
はあなたにInianをありがとうございます。うまくいった –