Linux 啟動jar指令碼
阿新 • • 發佈:2020-08-19
#前言
儲存下 重啟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,存在返回0if [ -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.outfi } #停止方法 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