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
相关推荐
apocelipes12 小时前
golang unique包和字符串内部化
java·python·性能优化·golang
Full Stack Developme13 小时前
java.text 包详解
java·开发语言·python
Do_GH14 小时前
【Linux】07.Ubuntu开发环境部署
linux·运维·ubuntu
刘梦凡呀14 小时前
C#获取钉钉平台考勤记录
java·c#·钉钉
CHH321314 小时前
在 Mac/linux 的 VSCode 中使用Remote-SSH远程连接 Windows
linux·windows·vscode·macos
tryCbest14 小时前
Linux使用Docker部署项目后期更新
linux·运维·docker
best_virtuoso14 小时前
PostgreSQL 常见数组操作函数语法、功能
java·数据结构·postgresql
yudiandian201414 小时前
02 Oracle JDK 下载及配置(解压缩版)
java·开发语言
孤独得猿14 小时前
聊天室项目开发——etcd的安装和使用
linux·服务器·c++·etcd
siriuuus14 小时前
Linux Tomcat 简单使用及 Nginx 反向代理
linux·nginx·tomcat