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
相关推荐
都叫我大帅哥2 分钟前
Redis中zset内存变形记
java·redis
slowlybutsurely9 分钟前
Cursor快速入门
java·ai编程·cursor
天天摸鱼的java工程师15 分钟前
假设你在开发订单系统时遇到高并发下库存扣减出错,如何解决?由浅入深分析
java·后端·面试
都叫我大帅哥16 分钟前
Redis的ZSet:从“青铜”到“王者”的排序神器
java·redis
肖笙XiaoSheng27 分钟前
使用Gemini2.5 pro 优化我的定时任务(二)
java·后端·代码规范
数据智能老司机27 分钟前
Linux内核编程——字符设备驱动程序
linux·架构·操作系统
小小霸王龙!29 分钟前
互联网大厂Java面试实录:Spring Boot与微服务在电商场景中的应用
java·spring boot·redis·微服务·电商
深栈解码31 分钟前
JUC并发编程 CAS运行机制详解
java·后端
草履虫建模32 分钟前
Postman - API 调试与开发工具 - 标准使用流程
java·测试工具·spring·json·测试用例·postman·集成学习
深栈解码32 分钟前
JUC并发编程 ThreadLocal解析
java·后端