1. 程式人生 > >linux 編寫啟動 停止jar 的 shell指令碼

linux 編寫啟動 停止jar 的 shell指令碼

首先用 java -version 檢視一下是否安裝好了JDK,如果沒有需要先安裝JDK
點選此處進入 linux裝JDK的步驟

指令碼存放目錄結構
這裡寫圖片描述
注:指令碼存放在bin檔案下,jar存放在lib下 輸入命令時不需要帶上專案路徑,直接用專案名即可
注:linux執行指令碼的編碼格式為nuix格式
注:如若想附加許可權執行,可使用命令# chmod u+x start.sh 、# chmod u+x shutdown.sh

1:啟動指令碼 檔名[start.sh]

#!/bin/bash
cd `dirname $0`
cd ../lib
LIB_DIR=`pwd`


SERVER_NAME=`ls |grep "$1"`
JAR_NAME=$LIB_DIR"/"$SERVER_NAME
 
PIDS=`ps -ef | grep java | grep "$LIB_DIR" |grep $SERVER_NAME|awk '{print $2}'`
if [ -n "$PIDS" ]; then
    echo "start fail! The $SERVER_NAME already started!"
    exit 1
fi

cd ..

nohup java -jar -Djava.net.preferIPv4Stack=true -Xms512m -Xmx512m $JAR_NAME >/dev/null & 

echo "start "$SERVER_NAME" success!"

2:停止指令碼 檔名[shutdown.sh]
#!/bin/bash
PWD=`pwd`
cd `dirname $0`
cd ../lib
LIB_DIR=`pwd`

SERVER_NAME=`ls |grep "$1"`

PIDS=`ps -ef | grep java | grep "$LIB_DIR" |grep $SERVER_NAME|awk '{print $2}'`
if [ -z "$PIDS" ]; then
    echo "stop fail! The $SERVER_NAME not start!"
    exit 1
fi

for PID in $PIDS ;
do
    kill $PID > /dev/null 2>&1
done
echo "stop success! pid:"$PIDS
cd $PWD

相關推薦

linux 編寫啟動 停止jarshell指令碼

首先用 java -version 檢視一下是否安裝好了JDK,如果沒有需要先安裝JDK 點選此處進入 linux裝JDK的步驟 指令碼存放目錄結構 注:指令碼存放在bin檔案下,jar存放在li

linux 啟動停止jar shell指令碼

 shell指令碼 # jar啟動shell命令 #startup.sh java -jar project.jar & # 注意:必須有&讓其後臺執行,否則

Linux 編寫一個簡單的Shell指令碼

       如果我們想讓shell 來完成更多的工作,通過把我們的工具一起放置到我們自己設計的程式中,然後shell 就會自己來執行這些複雜的任務序列。通過編寫shell 指令碼,我們讓shell 來做這些事情。 什麼是shell 指令碼        最簡單的解釋,一

centos/ubuntu jenkins.war 自啟動指令碼,Linux啟動停止jar包的執行案例

#! /bin/sh # chkconfig: 2345 10 90 # description: jenkins .... # This script will be executed *afte

Linux下開機自啟動自定義shell指令碼

一、Ubuntu下 1、方法一,編輯rc.loacl指令碼  Ubuntu開機之後會執行/etc/rc.local檔案中的指令碼, 所以我們可以直接在/etc/rc.local中新增啟動指令碼。【進入到/etc/rc5.d下,發現S99rc.local,即開機軟

Linux 啟動 停止 查詢狀態 指令碼

開發十年,就只剩下這套架構體系了! >>>   

SpringBoot2.x應用啟動、關閉shell指令碼

本篇主要說明以下內容: 1.SpringBoot2.x應用啟動、關閉的shell指令碼 1 啟動指令碼 直接放到同jar包同一個目錄下,如下: #!/usr/bin/env bash APPLICATION_NAME='spblearn' CURRENT_PATH=`pwd` PID=""

linux開機啟動自動執行某個指令碼

有時候我們需要在開機的拉起一個服務或程序。 比較方便的改法是在檔案/etc/rc.local,編輯這個檔案,在末尾新增 source 指令碼名稱.sh 指令碼run_httpd_server.sh的內容 #!/bin/bash export BASE_DIR=$(p

linux啟動 java -jar 後臺執行程式 linux啟動 java -jar 後臺執行程式

ps -ef | grep java  查詢java 端口占用   linux中啟動 java -jar 後臺執行程式   直接用java -jar xxx.jar,當退出或關閉shell時,程式就會停止掉。以下方法可讓jar執行後一直在後臺執行。

Linux啟動停止檢視殺死Tomcat程序

啟動 一般是執行tomcat/bin/startup.sh,sh tomcat/bin/startup.sh 停止 一般是執行 sh tomcat/bin/shutdown.sh指令碼命令 檢視 執行ps -ef |grep tomcat 輸出如下 sun 5144

如何編寫一個優雅的Shell指令碼(三)

如何編寫一個優雅的Shell指令碼(三) 簡介 awk語法 awk內建變數 awk內建函式 awk實踐 awk檔案關聯 awk檔案拆分 總結 簡介 awk是shell腳本里面文字處理神奇

linux 系統啟動以後,執行指令碼的順序

1 首先是 rcS #! /bin/sh export PATH=/bin:/sbin:/usr/bin:/usr/sbin:. # 掛載虛擬檔案系統 echo "Mounting virtual filesystems" mkdir -p /sys /proc /dev mount -t

Linux啟動,停止,重啟Nginx、Mysql、PHP

LINUX啟動Nginx的命令: 一、查詢是否啟動 [[email protected] php-fpm.d]# ps -ef | grep nginx root 25225 1 0 19:26 ? 00:00:00 nginx: master process

linux Vim編輯器、shell指令碼、流程控制語句和計劃任務

本章主要講解shell指令碼,vim編輯器 1. 強制儲存退出 wq! 2. 查詢主機名稱 hostname 3. 在vim中常用的命令 dd刪除游標所在行;5dd刪除自游標所在行開始往下數五行;yy複製游標所在行;5yy複製自游標所在行開始往下數5行內容;n顯示搜尋命令定位到下一個字串

結合linux 環境變數的理解shell指令碼 if.......then語句及test命令

"uenvboot=" \ "if run sd_uEnvtxt_existence_test; then " \ "run loadbootenv; " \ "echo Loaded environment from ${bootenv}; " \

Linux的基礎命令和Shell指令碼

一、計算機   1、能接收使用者輸入的指令和資料,經過中央處理器的算術邏輯單元處理,然後會產生或者顯示新資料的,就是計算機。    比如,普通商戶用的計算器,手機,提款機,汽車導航,桌面電腦,手提電腦等   2、計算機

Linux操作入門練習之shell指令碼附答案(點選文末連結)

資料共享與整合技術 練習5 1、編寫shell指令碼,計算1-100的和; 指令碼: 結果驗證: 2、將一目錄下所有檔案的副檔名改為bak 指令碼: 驗證; 3、寫一個指令碼,統計/etc目錄下共有多少個目錄檔案 驗證: 4、寫一個指令碼, 依次向/etc/p

如何編寫一個優雅的Shell指令碼(一)

簡介    shell指令碼是用各類命令預先放入到一個檔案中,方便一次性執行的一個程式檔案,本文簡述如何編寫一個優雅的shell指令碼。 使用技術介紹 eval命令    可以將一個字串當作一個命令執行。    CMD="ls -ltr" eval $CMD 內建

如何編寫一個優雅的Shell指令碼(二)

簡介 繼上一篇,本文主要描述一個shell指令碼的基本組成 公共模組 ## 自定義寫日誌函式 function writelog() { echo "[`date -d '%Y-%m-%d %H:%M:%S'`][$$]: $1" |tess -a $tmplogf

模擬Nginx服務啟動停止重新載入指令碼

Nginx服務啟動停止重新載入指令碼 要求: 已知Nginx管理命令為: 啟動:/application/nginx/sbin/nginx 停止:/application/nginx/sbin/nginx -s stop 重新載入:/application/nginx/sbin/