创建service文件
CentOS系统中,
/usr/lib/systemd/system
和/etc/systemd/system
目录均可用于存放Systemd服务单元文件,但它们的用途稍有不同:
/usr/lib/systemd/system
目录:
- 存放的是系统安装的软件包提供的服务单元文件。
- 该目录下的服务单元文件属于系统级别的服务,由软件包的提供方提供和管理。
- 在升级或重新安装软件包时,该目录中的服务单元文件可能会被更新或替换。
- 避免直接修改该目录下的服务单元文件,以免被未来的软件包更新覆盖。
/etc/systemd/system
目录:
- 存放的是用户自定义的服务单元文件和覆盖系统级别的服务单元文件。
- 该目录下的服务单元文件属于本地管理范畴,用于配置自定义的服务、覆盖系统服务的设置或提供自定义的配置。
- 该目录下的服务单元文件不会受到软件包的更新影响,除非你手动进行更改。
- 推荐将自定义的服务单元文件放置在该目录下。
总结来说,
/usr/lib/systemd/system
目录是系统级别的服务单元文件存放位置,由软件包提供和管理。而/etc/systemd/system
目录是用户级别的服务单元文件存放位置,可用于自定义服务以及覆盖系统服务的设置。如果你需要创建自定义的服务单元文件,推荐将其放置在
/etc/systemd/system
目录下,并避免直接修改/usr/lib/systemd/system
目录中的服务单元文件。
2:编辑文件内容
[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配置之后需要运行以下命令才会生效文章来源:https://www.toymoban.com/news/detail-607147.html
sudo systemctl daemon-reload
文章来源地址https://www.toymoban.com/news/detail-607147.html
到了这里,关于linux centos中把jar包设置为开机自启动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!