jar包 制作为linux服务启动

1、vi /etc/rc.d/init.d/jwt(jwt为你要做服务的名字)

2.填写以下内容

#!/bin/bash
#chkconfig: 345 20 90
#description:jwt 1.0的服务
BASE_DIR="/soft/"
JAR_FILE="jwt.jar"
SERVICE_NAME="jwt1.0"
JAVA_PARAMS="-Xms256m -Xmx512m -XX:MaxNewSize=256m"
# JDK dir
JAVA_HOME=/home/staff/jdk1.8.0_161
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
CLASSES=${CLASSPATH}:/usr/work/space1/bin
export JAVA_HOME
export PATH
export CLASSPATH
start()
{
echo "starting ${SERVICE_NAME}..."

nohup java -Dfile.encoding=utf-8 -Dlog4j.configurationFile="$BASE_DIR"log4j2.properties -Dsun.jnu.encoding=utf-8 $JAVA_PARAMS -jar $BASE_DIR$JAR_FILE -conf "$BASE_DIR"conf.json  >/dev/null 2>&1 &

echo "${SERVICE_NAME} started"
}

stop()
{
echo "stopping ${SERVICE_NAME}..."
pid=`ps -ef|grep $JAR_FILE |grep -v grep |awk '{print $2}'`
kill -9 $pid
echo "${SERVICE_NAME} stopped"
}

case "$1" in

start)
start
;;

stop)
stop
;;

restart)
stop
sleep 1
start
;;

*)

echo "Usage: $0 {start|stop|restart}"
exit 1
esac

3.赋予权限 chmod +x /etc/rc.d/init.d/jwt

4.添加开机启动  chkconfig --add jwt

chkconfig --del jwt
chkconfig --add jwt
chkconfig --list jwt

修改后需要先del 再 add

345 20 90才能保证网络服务已启动

5.启动服务     systemctl start jwt     或者  service jwt  start

Ubuntu的制作方法

ubuntu 20.04 lts下,没有chkconfig命令,本文记录解决方案。

ubuntu下chkconfig命令可以使用sysv-rc-conf 服务管理程序代替,只需要apt安装即可

添加镜像源

  • 直接安装可能会报错
$ sudo apt-get install sysv-rc-conf
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 0%
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
E: 无法定位软件包 sysv-rc-conf
  • 此时则需要添加镜像源
sudo vim /etc/apt/sources.list

在sources.list 文件末尾添加镜像源:

deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
  • 更新安装源
sudo apt-get update

安装 sysv-rc-conf

sudo apt-get install sysv-rc-conf
  • 此时已经安装了 sysv-rc-conf ,但链接名称不是 chkconfig

链接 chkconfig

链接 chkconfig有两种方式, 一是使用alias 起别名, 二是复制sysv-rc-conf文件为chkconfig

  • 通过alias起别名:
alias chkconfig=sysv-rc-conf

alias语法

# 起别名
alias [别名]=[指令名称]
# 删除别名
unalias [别名]

使用alias起别名,在使用sudo权限时,可能会出现找不到命令的问题, 因此建议直接复制sysv-rc-conf文件为chkconfig

  • 复制sysv-rc-conf文件为chkconfig : 
  • 最后执行sysv-rc-conf即可进入界面操作+为启动,-为停止,空格为选中某个项目
  • 需要知道的是,程序目录需要赋予执行权限.
sudo cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值