shell入门-----通过service xx start 来启动springboot的jar项目

一.项目文件目录格式准备

bin中放入springboot的jar文件

conf中放入统一的配置文件

logs日志文件

二. 编写统一管理可用service xx start 启动的脚本文件

vim /etc/init.d/Food-App ,注意后面不要带任何后缀名

编写以下命令。

#!/bin/sh
MOUDLE_NAME=app-1.0-SNAPSHOT
APP_NAME=app-1.0-SNAPSHOT.jar
APP_DIR=/opt/90249/food_security/bin
CONFIG_NAME=/opt/90249/food_security/conf/application.yml
function start()
{
       cd $APP_DIR
       nohup java -jar -Dspring.config.location=$CONFIG_NAME $APP_NAME > /dev/null 2>&1 &
       echo "$MOUDLE_NAME start..."
}
function stop()
{
        server_pid=$(ps -ef | grep jav[a] | grep "$MOUDLE_NAME" | grep -v grep |awk '{print $2}')
        if [ ! -z "$server_pid" ];then
                kill -9 $server_pid
                echo "stop $MOUDLE_NAME by kill -9"
        fi
                echo "stop $MOUDLE_NAME"
}
case $1 in
        start):
        start
        ;;
        stop):
        stop
        ;;
       restart):
       stop
       sleep 4
       start
       echo "$MOUDLE_NAME restart..."
       ;;
esac

exit 0

在 /etc/init.d目录下,并使用chomd +x  Food-App来给脚本添加可执行权限

三.启动脚本

service Food-App start 启动springboot项目

service Food-App stop 关闭springboot项目

service Food-App restart 重启springboot项目

四.关于service xx start命令的补充说明

linux启动服务是用SERVICE + COMMAND,command命令本身也是一个脚本啊,比如说:service network restart;怎么能够做一个属于自己的service命令呢。

其实很简单,只要我们认识service这个命令的原理就行了。如果要知道service这个命令怎么用,你就自己man service下,在这里,我简要说下service的运行过程。举个例子来说:service network restart。

首先呢,sevice 会去寻找/etc/init.d下的network脚本,restart是network脚本里的一个参数(你可以去查看network这个脚本支持的参数),然后告诉系统运行network这个脚本,剩下的事情就交给network脚本去坐了,事实就是这么简单。

现在,你应该知道怎么编写属于自己的service命令了吧,编写一个脚本,然后把它放在/etc/init.d这个目录底下,你就可以用service +脚本名字 运行它。如果是要开机自动启动那就得用chkconfig命令了。

注意:

A、service这个命令往往是即时生效,不用开关机,但是重启后服务会回到默认状态。

B、chkconfig是用于把服务加到开机自动启动列表里,只要启动它,就能自动启动,重启后永久生效

即:chkconfig --add COMMAND 

      chkconfig COMMAND on/off    重启后永久生效

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值