Linux でコマンドを使用して、jar パッケージ内のファイルの内容を変更し、jar プログラムを再実行します。
1. 背景説明
要件: オンライン iotp-irsb-server-v1.0.0.2.jar パッケージ内の構成ファイルのログ レベル構成が間違っており、jar 内の application-prod.yml ファイルのログ レベル構成が間違っていることが判明しました。パッケージはオンラインで変更する必要があります。変更が完了したら、jar パッケージを再起動します。
2、vi コマンド編集
jar パッケージが存在するディレクトリを入力し、vi コマンドを使用して jar パッケージ内のファイル リストを開きます。
1、vi iotp-irsb-server-V1.0.0.2.jar
vi iotp-irsb-server-V1.0.0.2.jar
以下の図に示すように:
2. vi の後にポップアップ表示されるファイル リスト インターフェイスで、カーソルに従ってファイルを選択し、Enter キーを押します。
- vi の後に「/」を入力し、フィルタリングする内容を入力してフィルタリングします。
- たとえば、「/yml」と入力して yml をすばやく見つけ、Enter キーを押し、カーソルに従ってファイルを選択します。対応するファイルを見つけた後、もう一度 Enter キーを押してファイル コンテンツ変更インターフェイスに入ります。
/yml
以下に示すように:
3. コンテンツを変更して保存します
- ファイル編集ページに入ると、この時点では読み取り専用ファイルのみですが、文字「i」を入力すると、読み取り専用ファイルが編集可能なファイルになり、内容を編集できるようになります。
- コンテンツを変更した後、esc キーを押して編集を終了し、:wq を入力してコンテンツを保存し、ファイル選択リスト インターフェイスに戻ります。
4. 最後にコロンと q! を入力して終了します ここまでで、jar パッケージ内のファイルの内容が変更されました。
3. プログラムを開始します
この時点では、プログラムはまだ実行中であるため、通常の状況では、最初にプロセスを強制終了してから、コマンドを使用してプロセスを開始する必要があります。
ヒント: この種の起動 jar コマンドには通常、起動スクリプトが含まれており、この時点で内容を変更した後、スクリプトを起動するだけで正常に再起動できる場合があります。
次のように進めます。
1. プログラム ps -ef |grep java のプロセスを見つけます。
ps -ef |grep java
ps: プロセスを表示します。
-A: すべてのプログラムを表示します。
-e: このパラメータの効果は、「A」パラメータを指定した場合と同じです。
-f: UID、PPIP、C、および STIME フィールドを表示します。grepコマンドは検索、真ん中の|はパイプラインコマンドで、psコマンドとgrepが同時に実行されることを意味します。
このコマンドは、すべての Java プロセスを表示することを意味します。
2. このプロセスを強制終了します。kill[パラメータ][プロセス番号]
kill -9 4394
kill はプロセス ID にシグナルを送信することです。デフォルトで送信されるシグナルは SIGTERM で、
kill -9 によって送信されるシグナルは SIGKILL、つまり exit です。終了シグナルはシステムによってブロックされないため、kill -9 によりプロセスをスムーズに強制終了できます。もちろん、kill を使用して他のシグナルをプロセスに送信することもできます。
3. jar プログラム、nohup java -jar jar パッケージ名を開始します。
nohup java -jar iotp-irsb-server-V1.0.0.2.jar
補足:
(1) CTRL+Z はプロセスを一時停止してバックグラウンドにします
(2) ジョブは現在一時停止されているプロセスを表示します
(3) bg %N は N 番目のタスクをバックグラウンドで実行します (% の前にスペースがあります)
(4) ) fg %N N 番目のタスクをフォアグラウンドで実行します
4. 拡張 - 起動スクリプト
コマンドを変更し、起動スクリプトとして使用します。たとえば、このスクリプトの名前は autostart.sh で、内容は次のコマンドです。
#!/bin/sh
ps -ef | grep iotp-irsb-server | grep -v grep | awk '{print $2}' |xargs kill -9
cd /home/admin/web/iotp_irsb/app && (nohup java -jar -Dspring.profiles.active=prod iotp-irsb-server-V1.0.0.2.jar -Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m &) && tail -f nohup.out;
起動スクリプトリンクアドレス:Javaプログラム自己起動スクリプトファイル
この記事は終わりです!