1.はじめに
SpringBootプロジェクトの開発段階では、mvn spring-boot:run
実行中のプロジェクトを実行することで、機能を素早く確認する目的を達成します。実稼働環境では、そうすることはお勧めできません。jarパッケージとwarパッケージの2種類のリリースが提供されます。この章の実験は、ubuntu 18.04オペレーティングシステムで行われました。
2. jarパッケージ(推奨)
$ nohup java -jar XXX.jar &
コマンドの説明:
java -jar XXX.jar
:この方法でプログラムを起動すると、現在のターミナルウィンドウがロックされ、他の操作は実行できなくなります。CTRL+ Cを押すか、ターミナルウィンドウを直接閉じると、プログラムが終了します。java -jar XXX.jar &
:このように、現在のターミナルウィンドウはロックされず、他の操作を実行できますが、ウィンドウが閉じられると、プログラムは終了します。nohup java -jar XXX.jar &
:この方法でのみ、現在のターミナルはロックされず、他の操作を実行できます。ターミナルが閉じられていたり、アカウントがログアウトされていても、プログラムは中断されません。プログラムはまだバックグラウンドで実行されています。- &プログラムがバックグラウンドで実行されていることを示します。
- nohupの役割は、suspend信号を無視して、次のコマンドを実行することです。
標準入力が端末の場合、
読み取り不可能なファイルからリダイレクトします(実際には無視します); 標準出力が端末の場合、出力を$ HOME / nohup.outファイルに追加します($ HOMEはホームディレクトリで、実験環境では、可能であれば/home/kyun/nohup.outです
が、間違っている場合は、標準出力にリダイレクトします。指定したファイルに出力をリダイレクトすることもできます。
$ nohup java -jar XXX.jar >tmp.txt &
この方法の利点は、ターミナルが閉じているか、アカウントがシステムからログアウトしているときに、プログラムがバックグラウンドで実行されていることです。
3.1補助コマンド
- ジョブコマンドを使用して、バックグラウンドで実行中のタスクを表示できます
$ jobs
[1]+ Running nohup java -jar SpringBootGroceryDemo.jar > tmp.txt &
- jobsコマンドは、バックグラウンドで実行されたすべてのジョブを一覧表示し、各ジョブの前に番号が付いています。あなたは仕事がフロントデスクに戻って転送を制御したい場合は、唯一のコマンドを実行する必要があり
fg 编号
、このように、:
$ fg 1
nohup java -jar SpringBootGroceryDemo.jar > tmp.txt
ps aux | grep 程序名
pidを使用してウェブを表示する
$ ps aux | grep SpringBootGroceryDemo
kyun 13966 2.3 4.2 5165192 345532 pts/4 Sl 00:50 0:15 java -jar SpringBootGroceryDemo.jar
- ポートが占有しているスレッドのPIDを表示する
$ netstat -nlp | grep :8080
- プログラムを閉じます
kill pid
$ kill 13966