網(wǎng)上搬的,記錄下 特別注意在win上編輯 上傳到linux上會出現(xiàn)編碼不一致現(xiàn)象,需要?set:ff=unix 下
#!/bin/bash
export JAVA_HOME=/root/tools/jdk1.8.0_181
export JRE_HOME=/$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
#這里可替換為你自己的執(zhí)行程序,其他代碼無需更改
APP_NAME=/root/app/springBoot/robotcenter.jar
#使用說明,用來提示輸入?yún)?shù)
usage() {
? ? echo "Usage: sh robotcenter.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}? >robotcenter.out 2>&1 &
? fi
}
#停止方法
stop(){
? is_exist
? if [ $? -eq "0" ]; then
? ? kill -9 $pid
? else
? ? echo "${APP_NAME} is not running"
? fi?
}
#輸出運行狀態(tài)
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
? sleep 5
? start
}
#根據(jù)輸入?yún)?shù),選擇執(zhí)行對應方法,不輸入則執(zhí)行使用說明
case "$1" in
? "start")
? ? start
? ? ;;
? "stop")
? ? stop
? ? ;;
? "status")
? ? status
? ? ;;
? "restart")
? ? restart
? ? ;;
? *)
? ? usage
? ? ;;
esac