实现spring boot 应用开机自启动之systemd service

本文详细介绍了如何在Linux系统中使用systemd创建portal.service来管理Java应用的启动、停止以及开机自启动。步骤包括创建service文件,编写启动脚本,使用systemctl命令管理和故障排查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、进入/usr/lib/systemd/system目录创建portal.service,内容为

[Unit]
Description=My Java forking service
After=syslog.target network.target
[Service]
uccessExitStatus=143
User=root
Group=root

Type=forking

ExecStart=/opt/startportal.sh
xecStop=/bin/kill -15 $MAINPID
#Restart=on-failure
[Install]
WantedBy=multi-user.target

二、进入/opt 目录创建startportal.sh 内容为:

 #!/bin/bash

JAVA_HOME=/opt/jdk8
WORKDIR=/root/company/portal

cd $WORKDIR
nohup "${JAVA_HOME}/bin/java" $JAVA_OPTIONS -jar company-portal-0.0.1-SNAPSHOT.jar 2&>1 &

注意要使用nohup后台方式,不然systemctl start portal.service会挂住。

jar 文件可以放在任意位置,shell中创建WORKDIR变量即可

三、 执行systemctl命令

  systemctl enbale portal.service #开机自启动
  systemctl start portal.service

然后使用命令jps检查java进程

  jps

启动后可以执行下面命令停止进程

   systemctl stop portal.service

使用jps查看java进程是否停止

jps

如果有问题可以执行下面命令排查

   systemctl status portal.service

四、 service的原理请参考大神的这篇文章

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值