Linux で Spring Boot プロジェクトを開始および停止するためのスクリプトの例

Linux で Spring Boot プロジェクトを開始および停止するためのスクリプトの例

Springboot プロジェクトを開始するには、次の 3 つの方法があります。

1. メインメソッドプログラムを実行する

2. コマンドラインで実行するには、mvn spring-boot:runコマンドを使用します。

3. mvn packpageを使用してjarファイルをパッケージ化した後、java -jar yourapp.jarコマンドラインを使用して実行します。

通常、開発時には最初の 2 つの実行モードを使用し、デプロイと実装時には 3 番目のモードを使用することが多いです。以下では、Linux 環境で springboot プロジェクトを実行および停止するための手順とスクリプトのダウンロードに焦点を当てます。

1. 手順

nohupは実行コマンドをハングアップさせません

通常、Linux で直接使用できます。

java -jar yourapp.jar

プログラムを起動しますが、プロセスが終了するとプログラムはすぐにハングアップします。この場合、nohupを使用する必要があります。

nohup java -jar yourapp.jar > yourapp.out 2>&1 &

しかし、最大の問題は管理が不便だということです。何をするか?

次に、シェルスクリプトを書く

1. スタート

#!/bin/bash
nohup java -jar yourapp.jar -Xms256m -Xmx1024m > yourapp.out 2>&1 &

2. 停止します

#!/bin/bash
PID=$(ps -ef | grep yourapp.jar | grep -v grep | awk '{ print $2 }')
[ ${PID} ]の場合; 
それから
 echo 'アプリケーションは停止しています...'
 echo kill $PID 完了
 $PID を強制終了する
それ以外
 echo 'アプリケーションはすでに停止しています...'
フィ

3. 開始スクリプトと停止スクリプトを統合し、run.shを記述する

#!/bin/bash
echo 'アプリケーションは停止しています...'
ソース stop.sh
echo 'アプリケーションは実行中です...'
ソース start.sh

ビンゴ…

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linux 編集の開始、停止、再起動の Springboot jar パッケージ スクリプトの例
  • Centos で SpringBoot プロジェクトのスクリプトを開始および停止する方法
  • Spring Boot が一般的なシェル スクリプトを jar モードで起動する詳細な説明
  • Spring boot + LayIM + t-io を使用してファイルのアップロードを実装し、ユーザー ステータスを監視するサンプル コード
  • Spring Boot のカスタム http フィードバック ステータス コードの詳細な説明
  • Spring Boot の起動、停止、再起動、ステータス スクリプト

<<:  必見の JavaScript 面接質問 10 選のまとめ (おすすめ)

>>:  Alibaba CloudにMySQLをインストールする方法の詳細な説明

推薦する

Mysql WorkBench のインストールと設定のグラフィックチュートリアル

この記事では、Mysql WorkBenchのインストールと設定のグラフィックチュートリアルを参考ま...

CentOS7でPHPスケジュールタスクを実行する方法

序文この記事は主に CentOS7 で PHP スケジュールタスクを実行することに関する関連コンテン...

Vueはタブ切り替えの虫眼鏡効果を実装します

この記事では、タブ切り替えの虫眼鏡効果を実現するためのVueの具体的なコードを例として紹介します。具...

Alibaba Cloud に Docker をインストールする際の問題と解決策

質問Alibaba Cloud イメージを使用して Docker をインストールすると、次の図に示す...

Ubuntu 16.04にJenkinsをインストールするための詳細な手順

1. 前提条件JDKがインストールされましたecho $PATHソフトリンクを作成し、JDKのインス...

mysql MDLメタデータロックの詳細な分析

序文: MySQL で SQL 文を実行すると、予想した時間内に文が完了しません。このような場合、通...

Vue.js ドロップダウン コンポーネント付きテキストボックス

ドロップダウン付きのテキストボックスを使用すると、ユーザーはドロップダウン リストから入力を選択した...

webpack イメージを base64 に変換する例

url-loader をダウンロード 糸を追加 -D URLローダー モジュール: { ルール: {...

MySQL が uuid または snowflake id を主キーとして使用することを推奨しない理由の詳細な分析

前書き: MySQL でテーブルを設計する場合、MySQL では UUID や非連続かつ非繰り返しの...

CentOS 7 パスワードを忘れた場合の解決プロセス図

必要Windows システムでも Linux システムでも、さまざまな理由でパスワードを忘れてしまう...

MySQLの関連ロックについての簡単な理解

この記事は主にInnoDBのロックに関する知識を素早く理解してもらうことを目的としています。 Roc...

Web ページは何ピクセルで設計すればよいでしょうか?

多くのウェブデザイナーは、ウェブページのレイアウトを設計する際に、インターフェースウェブページの幅に...

MySQL での IN データボリュームの使用の最適化された記録

MySQL のバージョン番号は 5.7.28 です。テーブル A には 390 万件のレコードがあり...

Vue+ElementUI はページング関数を実装します - mysql データ

目次1. 問題2. 解決策2.1 ページングコンポーネント2.2 データベースデータを取得する関数:...

一般的な Linux ディストリビューションのミラーソース構成の概要

最近 Linux を研究していて、いくつかの Linux ディストリビューションを試してみましたが、...