参考Systemd 入门教程:实战篇
配置文件
systemd使用配置文件作为程序服务启动的方式,分为可以自启动的和不能自启动的
就是
enable
和start
的命令的区别
- 分为
/etc/systemd/system
和/usr/lib/systemd/system
,使用其中的.service
文件
服务信息解析
Loaded行:配置文件的位置,是否设为开机启动
Active行:表示正在运行
Main PID行:主进程ID
Status行:由应用本身(这里是 httpd )提供的软件当前状态
CGroup块:应用的所有子进程
日志块:应用的日志
写一个配置文件
打开.service文件即可开始编辑
- 一个配置文件使用的键值对的方式,使用
xxx=xxx
[Unit]区块
使用Description
作为对服务的形容,Documentation
字段给出文档位置
使用Before
和After
字段展示服务的启动顺序,表示自己的服务应该依赖什么(但是不是真实的依赖关系)
依赖关系分为Wants
和Requires
2个字段,分别是弱依赖和强依赖
[Service]区块
这里可以配置环境变量等服务的启动方式.
你可能会遇到EnvironmentFile
环境参数配置文件,当然也可以不需要外部配置参数
这是.service配置文件的配置文件,在
/etc/sysconfig/
目录下
ExecStart字段:定义启动进程时执行的命令。
ExecStart=/usr/sbin/sshd -D $OPTIONS
存放的是如何启动服务的方式
KillMode字段:定义 Systemd 如何停止 sshd 服务。
默认是清除所有的进程
Restart字段定义是否重启服务
遇到错误的时候很有用,配合
RestartSec
字段使用
最小实现
我们自己的项目添加systemd服务的支持的时候,添加一个最小最基本的服务
下面就是一个例子,可以通过简单修改之后作为自己的项目的systemd服务
[Unit]
Description=Github520cli auto update hosts config to access github[Service]
Type=simple
ExecStart=/home/xuhe/go/bin/github520cli --auto
Restart=always
RestartSec=1[Install]
WantedBy=multi-user.target