失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux使用systemctl设置程序开机自启动

Linux使用systemctl设置程序开机自启动

时间:2021-10-16 14:51:41

相关推荐

Linux使用systemctl设置程序开机自启动

1 说明

设置开机自启动,需要用到systemctl工具。

systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。

systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。

在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。

2 准备

os:redhat7.0

systemctl –version : systemd 208

weblogic version:12

3 将程序设置成系统服务

3.1 编写系统服务文件

# vi /etc/systemd/system/myapp.service----------------------------------------------------#如果/etc/systemd/system/myapp.service有过修改,需要进行更新,执行下面这个命令#systemctl daemon-reload#查看服务是否被正确识别#systemctl list-unit-files|grep myapp[Unit]#服务描述,写有意义的内容,便于识别Description=myapp service[Service]Type=simple#设置应用的工作目录WorkingDirectory=/myapp_pathExecStart=/myapp_path/startMyApp.shExecStop=/bin/kill -s TERM $MAINPID[Install]WantedBy=multi-user.target

3.3 查看系统服务文件是否被识别

# systemctl list-unit-files|grep myapp--------------------------myapp.service disabled

至此,系统服务文件编写完成。

4 编写程序启动脚本

# vi /myapp_path/startMyApp.sh----------------------------------------------------#!/bin/sh#上面这行很重要,会报203错误#最好先cd到程序目录cd /myapp_path#使用java的绝对路径。如果找不到java可执行程序,也会报203错误/usr/java/jdk1.8/bin/java -jar myapp.jar

启动脚本设置执行权限

# chmod +x myapp.sh

5 测试系统服务

5.1 启动系统服务

# systemctl start myapp.service

5.2 停止系统服务

# systemctl stop myapp.service

5.3 查看系统服务是否成功启动

# systemctl status myapp.service -l

5.4 可能碰到的203错误

ExecStart参数指定启动脚本路径不对,会提示203错误。(改对就好了。)

启动程序脚本(.sh文件)中未指定脚本解析器,会提示203错误。(在文件开头添加:#!/bin/sh)

启动程序脚本(.sh文件)没有执行权限,会提示203错误。(chmod +x myapp.sh)

6 将服务设置成开机自启动

# systemctl enable myapp.service# systemctl list-unit-files|grep myapp--------------------------myapp.service enabled

反向命令:

# systemctl disable myapp.service# systemctl list-unit-files|grep myapp--------------------------myapp.service disabled

6 查看服务的控制台日志

相当于tail -f。

# journalctl -flu myapp.service

如果觉得《Linux使用systemctl设置程序开机自启动》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。