Linux启动服务管理

举报
黄生 发表于 2022/10/17 23:57:23 2022/10/17
【摘要】 systemctl list-units当前启动的unit,但是有很多呀可以只显示某个类型的,比如加 --type=service or targetsystemd是对sysvinit原有缺点的克服。架构示意图:systemd利用Cgroup来完成跟踪任务、停止服务(以及它派生的子进程)。unit由一个与配置文件名相同的名字和类型组成类型有:service 最常见;socket 相应的服务在...

systemctl list-units
当前启动的unit,但是有很多呀
可以只显示某个类型的,比如加 --type=service or target

systemd是对sysvinit原有缺点的克服。
image.png

架构示意图:
image.png

systemd利用Cgroup来完成跟踪任务、停止服务(以及它派生的子进程)。
unit由一个与配置文件名相同的名字和类型组成
类型有:service 最常见;socket 相应的服务在第一个“连接”进入套接字时就会启动(比如nscd.socket穷nscd.service) ;device 比如eth0会出现在这里;mount; automount; swap
target 对其他配置单元进行逻辑分组。本身实际并不做什么。将一些配置单元组合为一个目标target,比如multi-user.target相当于sysv中运行级别3;timer

单元依赖,required强、wants弱。依赖图示意:
image.png

可以到 /usr/lib/systemd/system 下面看一下系统里的unit文件是怎么编写的。
比如可以看一下 docker.service
看到里面也有

[Unit]
After=network-online.target firewalld.service containerd.service
#表示在这些服务之后启动
Requires= #需要,但并不代表启动先后顺序,一般是并行启动

[Service]
Restart=

所以,它的控制机制还是比较完备的。可以自己写一个简单的unit来尝试一下,也不难。
参考《Red Hat Enterprise Linux 7.0系统管理》

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。