1. 程式人生 > 其它 >如何建立一個Linux平臺的Java程式啟動指令碼

如何建立一個Linux平臺的Java程式啟動指令碼

技術標籤:linuxshell

下面是一個簡單的Linux平臺的Java程式的啟動指令碼,請將指令碼的server_name=“XXXX” 中的XXXX修改為自己對應的jar包名稱就可以使用了,不需要新增字尾名.jar

支援的功能:
1、啟動
2、重啟
3、停止
4、檢視服務狀態

#!/usr/bin/env bash
#jar包名稱
server_name="XXXX"

status() {
  if [[ -n $(ps -ef | grep -v grep | grep ${server_name} | sed -n '1P' | awk '{print $2}'
) ]]; then echo -e "\033[36m ##: 正常執行中~ \033[0m" else echo -e "\033[31m 已經停止 \033[0m" fi } start() { if [[ -z $(ps -ef | grep -v grep | grep ${server_name} | sed -n '1P' | awk '{print $2}') ]]; then # 停止了 nohup java -jar ${server_name}'.jar' >>server.log & if
[[ -n $(ps -ef | grep -v grep | grep ${server_name} | sed -n '1P' | awk '{print $2}') ]]; then echo -e "\033[36m ##: 啟動成功~ \033[0m" else echo -e "\033[31m 啟動失敗 \033[0m" fi else echo -e "\033[32m ##: 服務已經在執行中... \033[0m" fi } stop() { ps -ef | grep -
v grep | grep ${server_name} | sed -n '1P' | awk '{print $2}' | xargs kill -9 if [[ -z $(ps -ef | grep -v grep | grep ${server_name} | sed -n '1P' | awk '{print $2}') ]]; then echo -e "\033[32m ##: 已停止... \033[0m" fi } main() { if [ ! -f ${server_name}".jar" ]; then echo -e "\033[31m 當前目錄不存在 ${server_name}.jar 檔案 \033[0m" else # 存在檔案 echo -e "\033[42;30m ###[ 控制檯 ]### \033[0m" echo -e "\033[32m 0. \033[0m 啟動服務" echo -e "\033[32m 1. \033[0m 停止服務" echo -e "\033[32m 2. \033[0m 檢視服務狀態" echo -e "\033[32m 3. \033[0m 重啟服務" read -p "請輸入數字0-2的選項,回車確認: " choose case $choose in 0) start ;; 1) stop ;; 2) status ;; 3) stop start ;; *) echo -e "\033[31m 請輸入合法的數字 \033[0m" ;; esac fi } main

在jar包所在路徑,建立一個shell指令碼檔案,將上面的內容複製到指令碼中,指令碼中jar的名稱記得修改一下

#建立指令碼檔案
vim start.sh
#授權
chmod +x ./start.sh

使用效果:
在這裡插入圖片描述