systemctl 命令的使用

启动

1
systemctl start redis

停止

1
systemctl stop redis

重启

1
systemctl restart redis

状态

1
systemctl status redis

自定义配置

新建 systemctl 文件

以 redis 服务为例

1
2
touch /lib/systemd/system/redis.service
vim /lib/systemd/system/redis.service

配置文件

vim /lib/systemd/system/redis.service

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecReload=/usr/local/bin/redis-server -s reload
ExecStop=/usr/local/bin/redis-server -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  1. [Unit] 表示这是基础信息
    • Description 是描述
    • After 是在那个服务后面启动,一般是网络服务启动后启动
  2. [Service] 表示这里是服务信息
    • ExecStart 是启动服务的命令
    • ExecReload 是重启服务的指令
    • ExecStop 是停止服务的指令
  3. [Install] 表示这是是安装相关信息
    • WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

刷新配置

1
systemctl daemon-reload

## 设置开机启动

1
systemctl enable redis

参考

  1. Systemd 入门教程:命令篇
  2. [自定义systemctl管理服务(redis)