Java應用啟動停止重啟Shell腳本模板server.sh
更新時間:2023年08月09日 11:22:45 作者:YYGP
這篇文章主要為大家介紹了Java應用啟動、停止、重啟Shell腳本模板server.sh,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
server.sh
#!/bin/bash
#java options
APP_MAINCLASS=com.woo.erp.WooERPMain
PROC_NAME=WooERPMain
# 日志路徑,加不加引號都行。 注意:等號兩邊 不能 有空格,否則會提示command找不到
LOG_PATh=/data/application/woo-erp/nohup.out
#Xms inin memery
#Xmx max memery
#Xmn young memery
JAVA_OPTS="-Duser.timezone="GMT+8" -Xms512m -Xmx2G -XX:CompressedClassSpaceSize=128m -XX:MetaspaceSize=200m -XX:MaxMetaspaceSize=200m -Xloggc:logs/gc.log -cp .:classes/:dependency/* -Dspring.profiles.active=default"
# 啟動方法
start() {
# 重新獲取一下pid,因為其它操作如stop會導致pid的狀態(tài)更新
pid=`ps -ef | grep $PROC_NAME | grep -v grep | awk '{print $2}'`
# -z 表示如果$pid為空時執(zhí)行
if [ -z $pid ]; then
nohup java $JAVA_OPTS $APP_MAINCLASS /dev/null 2>&1 &
# nohup java -jar $PROC_NAME $JAVA_OPTS /dev/null 2>&1 &
pid=`ps -ef | grep $PROC_NAME | grep -v grep | awk '{print $2}'`
echo ""
echo "Service ${PROC_NAME} is starting!pid=${pid}"
echo "........................Here is the log.............................."
echo "....................................................................."
# tail -f $LOG_PATh
echo "........................Start successfully!........................."
else
echo ""
echo "Service ${PROC_NAME} is already running,it's pid = ${pid}. If necessary, please use command: sh auto_deploy.sh restart."
echo ""
fi
}
# 停止方法
stop() {
# 重新獲取一下pid,因為其它操作如start會導致pid的狀態(tài)更新
pid=`ps -ef | grep $PROC_NAME | grep -v grep | awk '{print $2}'`
# -z 表示如果$pid為空時執(zhí)行。 注意:每個命令和變量之間一定要前后加空格,否則會提示command找不到
if [ -z $pid ]; then
echo ""
echo "Service ${PROC_NAME} is not running! It's not necessary to stop it!"
echo ""
else
kill -9 $pid
echo ""
echo "Service stop successfully!pid:${pid} which has been killed forcibly!"
echo ""
stop
fi
}
# 輸出運行狀態(tài)方法
status() {
# 重新獲取一下pid,因為其它操作如stop、restart、start等會導致pid的狀態(tài)更新
pid=`ps -ef | grep $PROC_NAME | grep -v grep | awk '{print $2}'`
# -z 表示如果$pid為空時執(zhí)行。注意:每個命令和變量之間一定要前后加空格,否則會提示command找不到
if [ -z $pid ];then
echo ""
echo "Service ${PROC_NAME} is not running!"
echo ""
else
echo ""
echo "Service ${PROC_NAME} is running. It's pid=${pid}"
echo ""
fi
}
# 重啟方法
restart() {
echo ""
echo ".............................Restarting.............................."
echo "....................................................................."
stop
start
}
info() {
echo "System Information:"
echo "****************************"
echo `head -n 1 /etc/issue`
echo `uname -a`
echo "****************************"
echo "JAVA_HOME=$JAVA_HOME"
echo `$JAVA_HOME/bin/java -version`
echo "****************************"
echo "APP_MAINCLASS=$APP_MAINCLASS"
echo "****************************"
}
if [ ! -n "$1" ] ;then
echo "Usage: $0 {start|stop|restart|status|info}"
elif [ $1 = "start" ];then
start
elif [ $1 = "stop" ];then
stop
elif [ $1 = "restart" ];then
restart
elif [ $1 = "status" ];then
status
elif [ $1 = "info" ];then
info
fi使用示例
./server start #啟動 ./server stop #停止 ./server restart #重啟 ./server status #查看啟動狀態(tài) ./server info #查看系統(tǒng)信息
以上就是Java應用啟動、停止、重啟Shell腳本模板server.sh的詳細內容,更多關于Java啟動停止重啟腳本模板的資料請關注腳本之家其它相關文章!
相關文章
SpringBoot結合dev-tool實現IDEA項目熱部署的流程步驟
這篇文章主要給大家介紹了SpringBoot結合dev-tool實現IDEA項目熱部署的流程步驟,文章通過圖文介紹的非常詳細,對大家的學習有一定的幫助,需要的朋友可以參考下2023-10-10
java?MultipartFile文件上傳重命名詳細代碼示例
在文件上傳功能開發(fā)中,為防止文件重名導致數據覆蓋,常見的做法是在文件名前加上UUID或時間戳來區(qū)分,這篇文章主要介紹了java?MultipartFile?multipartFile文件上傳重命名的相關資料,需要的朋友可以參考下2024-09-09

