CentOS7开机自动启动jar包

本文转载自:CentOS7开机自动启动jar包
相关文章:
CentOS7中Tomcat设置开机自启动
CentOS 7 设置自启动

微服务JAR 启动脚本

添加shell脚本

server.sh

#!/bin/bash
# chkconfig: 2345 85 15
# description:auto_run

# 工作目录修改成自己的地址
# 注意!!! 并且该目录中只能存在一个jar包
APP_HOME=/www/wwwroot/test/
JAR_HOME_TOW="`cd ${APP_HOME} && find -name '*.jar' `"
APP_NAME=${JAR_HOME_TOW:2}

cd $APP_HOME

#检查程序是否在运行
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 "================================================="
    echo "warn: $APP_NAME is already running. (pid=$pid)"
    echo "================================================="
  else
    nohup java -jar $APP_NAME  > /dev/null 2>&1 &
    echo "${APP_NAME} start success"
  fi
}
 
#停止方法
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
	echo "${APP_NAME} stop success"
  else
	echo "================================================="
    echo "warn: $APP_NAME is not running"
    echo "================================================="
  fi  
}
 
#输出运行状态
status(){
  is_exist
  if [ $? -eq "0" ]; then
	echo "================================================="
    echo "warn: $APP_NAME is already running. (pid=$pid)"
    echo "================================================="
  else
    echo "================================================="
    echo "warn: $APP_NAME is not running"
    echo "================================================="
  fi
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    stop
	echo "restart the application ..."
    start
    ;;
  *)
	echo "================================================="
    echo "Tips: start|stop|restart|status"
    echo "================================================="
    ;;
esac

添加执行权限

chmod +x  service.sh

移动到/etc/init.d目录下

mv service.sh /etc/init.d/

【chkconfig 开机自启 方式一】

chkconfig可以更新(启动或停止)和查询系统服务(service)运行级信息。
更简单一点,chkconfig是一个用于维护/etc/rc[0-6].d目录的命令行工具。

添加系统服务

# 注册系统服务
chkconfig --add service.sh
# 删除系统服务
chkconfig --del service.sh
# 设置开机启动
chkconfig service.sh on
# 查看系统服务列表
chkconfig --list

常用命令

#启动服务
service service.sh start
#停止服务
service service.sh stop
#重启服务
service service.sh restart
#服务状态
service service.sh status

【 systemctl 开机自启 方式二】

在Centos 中 systemctl  是设置系统服务的命令,
即 service, 它融合之前service和chkconfig的功能于一体。
可以使用它永久性或只在当前会话中启用/禁用服务。

在 /usr/lib/systemd/system/ 创建服务 demo.service

[Unit]
Description=eureka
After=network.target
  
[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/server.sh start
ExecReload=/etc/rc.d/init.d/server.sh restart
ExecStop=/etc/rc.d/init.d/server.sh stop
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

常用命令

#重载系统服务:
systemctl daemon-reload
#设置开机启动
systemctl enable demo.service
#设置禁用启动
systemctl disable demo.service
#查看系统服务列表
systemctl list-unit-files –type=service
#启动服务
systemctl start demo.service
#停止服务
systemctl stop demo.service
#重启服务
systemctl reload demo.service
#服务状态
systemctl status demo.service
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值