濮阳杆衣贸易有限公司

主頁 > 知識庫 > Linux下shell通用腳本啟動jar(微服務(wù))

Linux下shell通用腳本啟動jar(微服務(wù))

熱門標(biāo)簽:湖北孝感如何辦理 地圖標(biāo)注x是啥意思 輝縣市地圖標(biāo)注 外呼系統(tǒng)的合法性 房產(chǎn)證地圖標(biāo)注的兩個面積 北京電銷機(jī)器人對市場的影響 威海電銷外呼系統(tǒng)好用嗎 武漢語音電銷機(jī)器人加盟 同花順電話機(jī)器人微信

vim app_jar.sh

#!/bin/bash
#source /etc/profile
# Auth:Liucx
# Please change these parameters according to your real env.
# set Java Home: Remember that dolphin only supports JDK8!
JAVA_HOME=/usr/java/jdk1.8.0_162
# application directory
cd `dirname $0`
APP_HOME=`pwd`
APP_NAME="`cd ${APP_HOME}  find -name '*.jar' `"
JAR_HOME=`pwd |awk -F"/" '{print $NF}'`
# Java JVM lunch parameters
if [ x"$JAVA_MEM_OPTS" == x ];then
  JAVA_MEM_OPTS="-server -Xms512m -Xmx512m -Xmn128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
fi
# waiting timeout for starting, in seconds
START_WAIT_TIMEOUT=30
psid=0
checkpid() {
  javaps=`$JAVA_HOME/bin/jps -l | grep "$JAR_HOME"`
  if [ -n "$javaps" ]; then
   psid=`echo $javaps | awk '{print $1}'`
  else
   psid=0
  fi
}
start() {
  checkpid
  if [ $psid -ne 0 ]; then
   echo "================================"
   echo "warn: $APP_NAME already started! (pid=$psid)"
   echo "================================"
  else
   echo -n "Starting $APP_NAME ..."
   #-Dspring.profiles.active=dev 指定環(huán)境
   nohup $JAVA_HOME/bin/java -jar -Dspring.profiles.active=dev -DCONFIG_ENABLE=true $JAVA_MEM_OPTS ${APP_NAME} >${JAR_HOME}.log 2>1   
   checkpid
   if [ $psid -ne 0 ]; then
     echo "(pid=$psid) [OK]"
   else
     echo "[Failed]"
   fi
  fi
}
stop() {
  sleep 2
  checkpid
  if [ $psid -ne 0 ]; then
   echo -n "Stopping $APP_NAME ...(pid=$psid) "
   #kill -9 $psid
   kill -9 $psid
   if [ $? -eq 0 ]; then
     echo "[OK]"
   else
     echo "[Failed]"
   fi
#   checkpid
#   if [ $psid -ne 0 ]; then
#     stop
#   fi
  else
   echo "================================"
   echo "warn: $APP_NAME is not running"
   echo "================================"
  fi
}
status() {
  checkpid
  if [ $psid -ne 0 ]; then
   echo "$APP_NAME is running! (pid=$psid)"
  else
   echo "$APP_NAME is not running"
  fi
}
info() {
  echo "System Information:"
  echo "****************************"
  echo `head -n 1 /etc/issue`
  echo `uname -a`
  echo
  echo "JAVA_HOME=$JAVA_HOME"
  echo `$JAVA_HOME/bin/java -version`
  echo
  echo "APP_HOME=$APP_HOME"
  echo "APP_NAME=$APP_NAME"
  echo "****************************"
}
case "$1" in
  'start')
   start
   ;;
  'stop')
   stop
   ;;
  'restart')
   stop
   echo "You restart the application ..."
   start #
   ;;
  'status')
   status
   ;;
  'info')
   info
   ;;
 *)
   echo "Usage: $0 {start|stop|restart|status|info}"
   exit 1
esac

使用方式:

app_jar.sh start
app_jar.sh stop
app_jar.sh restart

注:該腳本只需要放在jar包當(dāng)前目錄下即可,腳本當(dāng)前目錄只允許存在一個jar包,如果多個會同時啟動或重啟

還需提醒下:啟動的jar包名主體不能改變,防止腳本無效。目前正在公司生產(chǎn)環(huán)境使用中,希望您糾正,提出建議。

總結(jié)

以上所述是小編給大家介紹的Linux下shell通用腳本啟動jar,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • Xshell5連接虛擬機(jī)中的Linux的方法以及失敗原因解決
  • 用xshell連接VMware中的Linux的方法步驟(2種)
  • linux shell 根據(jù)進(jìn)程名獲取pid的實現(xiàn)方法
  • linux shell 中判斷文件、目錄是否存在的方法
  • Linux shell 提取文件名和目錄名的方法
  • Linux利用Shell腳本部署jar包項目的完整步驟
  • Linux配置SSH和Xshell連接服務(wù)器的教程(圖解)
  • Linux使用shell腳本定時刪除歷史日志文件

標(biāo)簽:迪慶 武威 紹興 麗江 西寧 安康 蚌埠 日喀則

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下shell通用腳本啟動jar(微服務(wù))》,本文關(guān)鍵詞  Linux,下,shell,通用,腳本,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux下shell通用腳本啟動jar(微服務(wù))》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux下shell通用腳本啟動jar(微服務(wù))的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    屯留县| 天全县| 皋兰县| 河源市| 宝应县| 台南市| 鹤庆县| 庆云县| 双江| 眉山市| 游戏| 郧西县| 钦州市| 庆云县| 富宁县| 广灵县| 永川市| 从化市| 宕昌县| 资兴市| 丘北县| 黄骅市| 宁晋县| 乌恰县| 额尔古纳市| 莱阳市| 上高县| 江北区| 天气| 石阡县| 磐石市| 卢龙县| 湛江市| 张家川| 五大连池市| 赤壁市| 扎兰屯市| 宜宾县| 紫阳县| 乌审旗| 健康|