jarServer.sh
#!/bin/bash #APP_NAME必须配置。 cd `dirname $0` cd .. DEPLOY_DIR=`pwd` APP_HOME=$DEPLOY_DIR/lib LOG_FILE=$DEPLOY_DIR/logs/stdin.out #启动的程序名称 APP_NAME=digmax-ta404.jar # 配置文件生产环境 #PROFILE=pro #java虚拟机启动参数 JAVA_OPTS="-Xms1024m -Xmx2048m -Dlog4j2.formatMsgNoLookups=true -Dfastjson.parser.safeMode=true -Doracle.jdbc.fanEnabled=false -DMY_PASSWORD=Yhpt1qaz " #************************** #(函数)判断程序是否已启动 #初始化psid变量 #**************************** psid=0 checkpid() { JPID=$(ps -ef | grep "$APP_HOME/$APP_NAME" | grep -v grep | awk '{ print $2 }') if [ -z "$JPID" ] then psid=0 else psid=$JPID fi } #************************** #启动程序 #**************************** start() { checkpid echo -n "Starting $APP_NAME ..." nohup java -jar $JAVA_OPTS $APP_HOME/$APP_NAME > $LOG_FILE 2>&1 & while [ $psid -lt 1 ]; do echo -e ".\c" sleep 1 checkpid if [ $psid -gt 0 ]; then echo -e "\n$APP_NAME already started! (pid=$psid)" break fi done } #***************************** #停止程序 #***************************** stop() { checkpid if [ $psid -ne 0 ]; then echo -n "Stopping $APP_NAME ...(pid=$psid) " kill -9 $psid if [ $? -eq 0 ]; then echo "[OK]" else echo "[Failed]" fi checkpid if [ $psid -ne 0 ]; then stop fi else echo "$APP_NAME is not running" fi } #**************************** #检查程序运行状态 #**************************** status() { checkpid if [ $psid -ne 0 ]; then echo "$APP_NAME is running! (pid=$psid)" else echo "$APP_NAME is not running" fi } log(){ tail -500f $LOG_FILE } #参数取值示例:{start|stop|restart|status} case "$1" in 'start') start ;; 'stop') stop ;; 'restart') stop sleep 1 start ;; 'status') status ;; 'log') log ;; *) echo "Usage: $0 {start|stop|restart|status|log}" exit 1 esac exit 0 us() { checkpid if [ $psid -ne 0 ]; then echo "$APP_NAME is running! (pid=$psid)" else echo "$APP_NAME is not running" fi } #******************************** #检查脚本的第二个参数($2),是否添加了额外的JVM参数 #读取脚本的第一个参数($1),进行判断 #参数取值示例:{start|stop|restart|status} ################################### case "$1" in 'start') start ;; 'stop') stop ;; 'restart') stop start ;; 'status') status ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 esac exit 0
标签:脚本,psid,NAME,stop,备份,jar,echo,start,APP From: https://www.cnblogs.com/wxp100/p/17569441.html