1. 程式人生 > 實用技巧 >Linux 啟動jar指令碼

Linux 啟動jar指令碼

#前言

  儲存下 重啟jar指令碼,當然網上很多,就不一一列舉啦

#指令碼

#!/bin/bash
#這裡可替換為你自己的執行程式,其他程式碼無需更改
APP_NAME=ump-1.0.0-S.jar
cd `dirname $0`
#使用說明,用來提示輸入引數
usage() {
    echo "Usage: sh 執行指令碼.sh [start|stop|restart|status]"
    exit 1
}
#檢查程式是否在執行
is_exist(){
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
  #如果不存在返回1,存在返回0
  
if [ -z "${pid}" ]; then return 1 else return 0 fi } #啟動方法 start(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is already running. pid=${pid} ." else nohup java -jar $APP_NAME > /dev/null 2>&1 & echo "${APP_NAME} is start success" #tail -f fileserver-web.out
fi } #停止方法 stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid echo "${APP_NAME} is stoped" else echo "${APP_NAME} is not running" fi } #輸出執行狀態 status(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is NOT running.
" fi } #重啟 restart(){ stop start } #根據輸入引數,選擇執行對應方法,不輸入則執行使用說明 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac

#編碼

  因為大家一般都是在windows上覆制編輯的,需要注意在dos/window下按一次回車鍵實際上輸入的是“回車(CR)”和“換行(LF)”,而Linux/unix下按一次回車鍵只輸入“換行(LF)”,所以修改的sh檔案在每行都會多了一個CR,所以Linux下執行時就會報錯找不到命令。

  解決方法:

  1.在windows上可以通過各種編輯器轉換下格式即可;

  2.已經放到伺服器上的,可以通過vi/vim修改格式

 vi  test.sh

檢視檔案格式(fileformat=dos)
 :set ff 

修改檔案格式
 :set ff=unix
或者::set fileformat=unix

儲存退出即可
:wq