Linux设置Jar开机自启

  1. 创建shell启动脚本(以下操作都是在存放jar包同级目录操作

编辑run.sh(以下脚本)脚本把第三行xxx.jar替换为jar包名称

只输出错误信息到日志文件:

nohup ./program >/dev/null 2>log &

什么信息也不要:

nohup ./program >/dev/null 2>&1 &

#!/bin/bash  
#这里可替换为你自己的执行程序,其他代码无需更改  
APP_NAME=你的jar名称.jar
  
#使用说明,用来提示输入参数  
usage() {  
    echo "-------------------------------------"
	echo ""
	echo "项目名称: ${APP_NAME}"
	echo ""
	echo "你可以使用如下参数进行操作"
	echo "start   -启动当前项目"
	echo "stop    -停止当前项目"
	echo "restart -重启当前项目" 
	echo ""
	echo "-------------------------------------" 
    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}  项目运行中或端口已被占用 进程id=${pid}"  
   else  
     nohup java -jar $APP_NAME   -Xms1024m -Xmx1536m -XX:PermSize=1024M -XX:MaxPermSize=2048M      > logs.log 2>&1 & 
    echo "${APP_NAME}  项目启动成功"  
   fi  
}  
  
#停止方法  
stop() {  
   is_exist  
   if [ $? -eq "0" ]; then  
     kill -9 $pid
	 echo "已杀死端口为 ${pid} 的应用"
   else  
     echo "${APP_NAME}  项目没有运行,请先启动"  
   fi  
}  
  
#输出运行状态  
status() {  
   is_exist  
   if [ $? -eq "0" ]; then  
     echo "${APP_NAME}  项目正在运行中 进程id=${pid}"  
   else  
     echo "${APP_NAME}  项目没有启动"  
   fi  
}  
  
#重启  
restart() {  
   stop  
   start  
}  
  
#根据输入参数,选择执行对应方法,不输入则执行使用说明  
case "$1" in  
   "start")  
     start  
     ;;  
   "stop")  
     stop  
     ;;  
   "status")  
     status  
     ;;  
   "restart")  
     restart  
     ;;  
   *)  
     usage  
     ;;  
esac  

#启动命令

./run.sh start

#停止命令

./ run.sh stop

#重启命令

./ run.sh restart

2.查找JDK路径

echo $JAVA_HOME

3.创建自启脚本server.sh

Jar包同级目录输入shell命令  

vi server.sh

#!/bin/bash

#chkconfig:  2345 81 96

#description: Starttomcat

export JAVA_HOME=VALUE1

export PATH=$JAVA_HOME/bin:$PATH

cd  VALUE2

nohup java -jar VALUE3 >> VALUE4/xxx.log 2>&1 &

解析:

VALUE1:替换为第二步查找的JDK路径

VALUE2: jar包所在的路径 例如: /home/jw

VALUE3:jar包名称 例如:demo.jar

VALUE4:jar包生成的日志目录 例如: /home/jw

4.设置权限

chmod u+x *.sh

5.设置开机自启

mv server.sh /etc/init.d/

# 注册系统服务

chkconfig --add server.sh

# 删除系统服务

chkconfig --del server.sh

# 设置开机启动

chkconfig server.sh on

# 查看系统服务列表

chkconfig –list

# 查看jar包是否启动成功

ps -ef | grep jar

如果启动出现未找到命令解决方案如下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喝着咖啡敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值