linux centos中把jar包设置为开机自启动

创建service文件

CentOS系统中, /usr/lib/systemd/system/etc/systemd/system 目录均可用于存放Systemd服务单元文件,但它们的用途稍有不同:

  1. /usr/lib/systemd/system 目录:

    • 存放的是系统安装的软件包提供的服务单元文件。
    • 该目录下的服务单元文件属于系统级别的服务,由软件包的提供方提供和管理。
    • 在升级或重新安装软件包时,该目录中的服务单元文件可能会被更新或替换。
    • 避免直接修改该目录下的服务单元文件,以免被未来的软件包更新覆盖。
  2. /etc/systemd/system 目录:

    • 存放的是用户自定义的服务单元文件和覆盖系统级别的服务单元文件。
    • 该目录下的服务单元文件属于本地管理范畴,用于配置自定义的服务、覆盖系统服务的设置或提供自定义的配置。
    • 该目录下的服务单元文件不会受到软件包的更新影响,除非你手动进行更改。
    • 推荐将自定义的服务单元文件放置在该目录下。

总结来说,/usr/lib/systemd/system 目录是系统级别的服务单元文件存放位置,由软件包提供和管理。而 /etc/systemd/system 目录是用户级别的服务单元文件存放位置,可用于自定义服务以及覆盖系统服务的设置。

如果你需要创建自定义的服务单元文件,推荐将其放置在 /etc/systemd/system 目录下,并避免直接修改 /usr/lib/systemd/system 目录中的服务单元文件。

2:编辑文件内容

java 复制代码
[Unit]
Description=My JAR Service
After=network.target

[Service]
ExecStart=/usr/bin/java -jar /path/to/myjar.jar
WorkingDirectory=/path/to
SuccessExitStatus=143
Restart=always
User=your_username

[Install]
WantedBy=multi-user.target
  • Description:描述你的服务。
  • After:指定启动服务的前置条件,这里使用 network.target 表示在网络启动之后再启动服务。
  • ExecStart:指定要运行的Jar包的命令。/usr/jdk/bin/java -jar 运行jar包的路径
  • (不用nohup命令也不用&)
  • WorkingDirectory:指定运行Jar包的工作目录。
  • SuccessExitStatus:指定成功退出的状态码。这里设置为143,表示使用 systemctl stop 命令终止服务时不会记录为错误。
  • Restart:指定当服务意外退出时是否自动重启。这里设置为always表示总是重启。
  • User:指定服务运行的用户。root

启动服务

复制代码
systemctl start myjar.service

设置为开机自启

复制代码
systemctl enable myjar.service

启动服务

复制代码
systemctl start myjar.service

停止服务

复制代码
systemctl stop myjar.service

重启服务

复制代码
systemctl restart myjar.service

查看运行状态

复制代码
systemctl status myjar.service

如果启动失败注意运行环境

更改service配置之后需要运行以下命令才会生效

复制代码
sudo systemctl daemon-reload
相关推荐
云技纵横4 分钟前
Spring Cache 多线程环境的线程安全与并发控制
java·安全·spring
路西法018 分钟前
# CentOS系统yum方式安装MySQL
linux·mysql·centos
程序员-周李斌10 分钟前
transmittable-thread-local[线程池跨线程值传递]
java·开发语言·算法·散列表
亓才孓16 分钟前
【homework1】彩票奖金问题(苛刻条件变松弛条件需要避免条件重复)
java·开发语言
Thanwind19 分钟前
RBAC介绍以及如何设计一个简易且高可用的RBAC1的鉴权系统
java·架构
CAU界编程小白19 分钟前
Linux编程系列之进程概念(上)
linux
MX_935919 分钟前
Spring的命名空间
java·后端·spring
yangn023 分钟前
ysu-527科研服务器使用指南
linux·运维·服务器
没有bug.的程序员24 分钟前
微服务网关:从“必选项”到“思考题”的深度剖析
java·开发语言·网络·jvm·微服务·云原生·架构
YJlio28 分钟前
DiskView 学习笔记(13.3):用扇区视图看磁盘——热点盘块、碎片与健康排查
java·笔记·学习