Java服务配置开机自启<CentOS 7>

创建开始和结束脚本

在你的jar目录下创建两个脚本

touch start.sh
chmod +x start.sh

touch stop.sh
chmod +x stop.sh

这是启动java服务和停止java服务的两个脚本,具体命名可以自己写自己的
start.sh内容

#!/bin/bash

# 这里是JDK安装的环境变量,自己改成自己的路径即可
export JAVA_HOME=/usr/jdk1.8.0_211
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

echo "************ KILL Java Service  Will  Begin **************"
#得到对应服务的进程号 关闭tomcat
str=`ps -ef | grep xxxxx你的jar文件xxxxx.jar | grep -v "grep"|awk '{print $2}'`
kill -9 $str
if [ "$?" -eq 0 ]; then
	echo "killed pid is "$str
    echo "kill success"
else
    echo "kill failed"
fi
echo "************ KILL Java Service  Will  End**************"
 
nowDate=`date +"%Y-%m-%d"`

# 跳转到jar存放的目录
cd /xx/xx/xxxx
# 执行挂起命令
nohup java -jar xxxxx你的jar文件xxxxx.jar &



# 跳转到jar存放的目录
cd /xx/xx/xxxx
#休眠5秒自动删除nohup.out文件
sleep 5
rm -rf nohup.out
nowstr=`ps -ef | grep  personloger-boot-oa-0.0.1-SNAPSHOT.jar  | grep -v "grep"|awk '{print $2}'`
#打印出现在新的进程号
echo "now pid is "$nowstr
echo "************ Personloger-OA is  Running... **************"

stop.sh 的内容

#!/bin/bash

echo "************ KILL Java Service  Will  Begin **************"
#得到对应服务的进程号 关闭tomcat
str=`ps -ef | grep xxxxx你的jar文件xxxxx.jar | grep -v "grep"|awk '{print $2}'`
kill -9 $str
if [ "$?" -eq 0 ]; then
	echo "killed pid is "$str
    echo "kill success"
else
    echo "kill failed"
fi
echo "************ KILL Java Service  Will  End**************"

注意:一定要给start和stop进行权限修改 chmod +x xxx.sh

编写注册服务

vim /usr/lib/systemd/system/somejar.service

名称自定义

[Unit]
Description=可以自定义描述
After=network.target  
 [Service]
Type=forking
ExecStart=刚刚写的那个start #启动服务脚本的绝对路径
ExecStop=刚刚写的那个stop #停止服务脚本的绝对路径.
PrivateTmp=true
[Install]
WantedBy=multi-user.target

将服务设为开机启动

systemctl enable somejar.service
# 设置完后重启
reboot

常用命令

systemctl start somejar.service #启动 服务
systemctl stop somejar.service  #停止 服务
systemctl status somejar.service  #查看 服务当前的运行状态

systemctl enable somejar.service  #开机启动 服务
systemctl disable somejar.service  #取消开机启动 服务
systemctl list-unit-files;   #查看当前服务(是否开机启动等)状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我的钱包空指针了

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

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

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

打赏作者

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

抵扣说明:

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

余额充值