Linux 启动Java-jar脚本 以及开机自启

start.sh 启动命令:./start.sh start/stop/restart  xxxx.jar

#!/bin/sh

startLogDir="temp"
if [ ! -d "$startLogDir" ];then
    mkdir $startLogDir
fi

###
SERVICE_NAME="$2"

#ENVFILE="env"

PIDFILE=temp/"$2"_"pid"

checkRunning(){
    if [ -f "$PIDFILE" ]; then
       if  [ -z "`cat $PIDFILE`" ];then
        echo "ERROR: Pidfile '$PIDFILE' exists but contains no pid"
        return 2
       fi
       PID="`cat ${PIDFILE}`"
       RET="`ps -p "${PID}"|grep java`"
       if [ -n "$RET" ];then
         return 0;
       else
         return 1;
       fi
    else
         return 1;
    fi
}

status(){
    if ( checkRunning );then
         PID="`cat $PIDFILE`"
         echo "'$SERVICE_NAME' is running (pid '$PID')"
         exit 0
    fi
    echo "'$SERVICE_NAME' not running"
    exit 1
}


#start
start(){
    if ( checkRunning );then
      PID="`cat $PIDFILE`"
      echo "INFO: Process with pid '$PID' is already running"
      exit 0
    fi
    #ENVIRONMENT="`cat ${ENVFILE}`"
    java -jar -Xms128m -Xmx256m ${SERVICE_NAME} -XX:PermSize=128M -XX:MaxPermSize=256M >/dev/null 2>&1 &
    echo $! > "${PIDFILE}";
}
#stop
stop(){
    if ( checkRunning ); then
       PID="`cat ${PIDFILE}`"
       echo "INFO: sending SIGKILL to pid '$PID'"
       kill -KILL $PID
       RET="$?"
       rm -f "${PIDFILE}"
       return $RET
    fi
    echo "INFO: not running, nothing to do"
    return 0
}

show_help() {
    cat << EOF
Tasks provided by the sysv init script:
    stop            - terminate instance in a drastic way by sending SIGKILL
    start           - start new instance
    restart         - stop running instance (if there is one), start new instance
    status          - check if '$SERVICE_NAME' process is running
EOF
  exit 1
}

# show help
if [ -z "$1" ];then
 show_help
fi

case "$1" in
  status)
    status
    ;;
  restart)
    if ( checkRunning );then
      $0 stop ${SERVICE_NAME}
      echo
    fi
    $0 start ${SERVICE_NAME}
    $0 status ${SERVICE_NAME}
    ;;
  start)
    start
    ;;
  stop)
    stop
    exit $?
    ;;
  *)
esac
 

开机自启:

把./start.sh 放到/etc/profile.d/

或者

自启/etc/rc.local

cd /home/
./sss.sh &
chmod 777 rc.local

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值