記事ディレクトリ
jarパッケージの実行中
WindowsとLinuxは同じですjava -jar
ターミナルが閉じていないときに実行
java -jar xxx.jar
: 現在の ssh ウィンドウはロックされており、他の操作は実行できません。Ctrl + c または直接ウィンドウを閉じてプログラムを停止します。 : 現在の
java -jar xxxxx.jar &
ssh ウィンドウはロックされておらず、他の操作は実行できます。ウィンドウを閉じると、プログラムが終了する; : プログラムは
nohup java -jar xxx.jar &
バックグラウンドで一時停止されます。アカウントがログアウトされるかターミナルが閉じられるとプログラムは停止し、ログ ファイルは現在のディレクトリの nohup.out ファイルに保存されます。
ターミナルがバックグラウンド実行を終了します
nohup java -jar xxxxxx.jar > log.txt &
: 出力ログを log.txt ファイルに指定し、バックグラウンドでプログラムを一時停止します。アカウントがログアウトしているか、端末が閉じているときでも、プログラムは引き続き実行されます。
nohup
これは、ログ ファイルを生成しnohup.out
、&
バックグラウンドで新しいスレッドを開始してコマンドを実行することを意味します。
実行中のjarパッケージを表示する
次のコマンドを使用すると、
ps -ef | grep java
現在実行中の Java プロセスの表示、
ps -ef | grep xxx.jar
現在実行中の JAR プロセスの表示、
ps -ef
すべてのプロセスの表示、およびどの列が PID と PPID であるかを確認できます。
ジャーの終了
kill -9 jar包pid
jar の開始および停止スクリプト
# start.sh
nohup java -jar 包名.jar >log.txt &
echo $! > /var/run/包名.pid
# 将jar包启动对应的pid写入文件中,为停止时提供pid
# shutdown.sh
PID=$(cat /var/run/包名.pid)
kill -9 $PID
スクリプトに実行権限を追加する
sudo chmod +x ./test.sh