systemd 和 systemctl
Linux服务管理常见的两种方式是service和systemctl systemd是Linux系统最新的初始化系统(init)
- 提高系统的启动速度
- 尽可能启动较少的进程
- 尽可能更多进程并发启动
- 统一管理服务日志 其对应的管理命令是systemctl
systemd的Unit文件
各类型文件说明
| 类型 | 说明 |
|---|---|
| automount | 用于控制自动挂载文件系统 |
| mount | 定义系统中某一个挂载点,可替代过去的/etc/fstab |
| device | 作用于/dev目录下的设备,主要用于定义设备之间的依赖关系 |
| path | 用于监控指定目录或文件的变化,并触发其它 Unit 运行 |
| scope | 描述一些系统服务的分组信息,自动生成 |
| service | 封装守护进程的启动、停止、重启和重载操作 |
| slice | 用于表示一个 CGroup 的树 |
| snapshot | 由 systemctl snapshot 命令创建的 Systemd Units 运行状态快照 |
| socket | 监控来自于系统或网络的数据消息,用于实现基于数据自动触发服务启动 |
| swap | 定义一个用户做虚拟内存的交换分区 |
| target | 用于对 Unit 文件进行分组,引导其它 Unit 的执行,代替了以前的运行级别 |
| timer | 用于配置在特定时间触发的任务,替代了 Crontab 的功能 |
文件存放目录
在三个目录中有同名文件的时候,只有优先级最高的目录里的那个文件会被使用
| 目录 | 级别 | 说明 |
|---|---|---|
| /etc/systemd/system | 高 | 系统或用户自定义的配置文件 |
| /run/systemd/system | 中 | 软件运行时生成的配置文件 |
| /usr/lib/systemd/system | 低 | 系统或第三方软件安装时添加的配置文件 |