systemd 是一个系统和服务管理器,它是许多现代Linux发行版(如Fedora、Red Hat Enterprise Linux、Debian、Ubuntu等)中默认使用的初始化系统。systemd 提供了一种替代传统的SysV init系统的方法,旨在提高系统的启动速度和运行效率,并且提供了更为强大的服务管理和依赖关系处理机制。
systemd的特点
并发启动:systemd 支持并行启动服务,这意味着它可以在同一时间启动多个服务,而不是像传统init系统那样顺序启动。 依赖关系管理:它可以自动处理服务之间的依赖关系,确保当一个服务启动时,其依赖的服务也已经启动。 Socket激活:允许服务监听套接字,当有连接请求到达时自动启动服务。 设备挂载和挂载点激活:systemd 可以基于设备挂载状态来控制服务的启动。 统一的日志记录:通过journald,systemd 统一了系统日志记录方式,并且提供了比传统syslog更丰富的查询和过滤功能。 资源控制:可以对服务的资源使用(如CPU和内存)进行限制。 服务单元文件:systemd 使用.service、.socket、.timer等单元文件来描述服务、套接字和定时任务等。
基本命令
一些常用的systemd命令包括:
systemctl list-unit-files
:列出所有已知的单元文件。systemctl start <service>
:启动指定的服务。systemctl stop <service>
:停止指定的服务。systemctl restart <service>
:重启指定的服务。systemctl status <service>
:查看指定服务的状态。systemctl enable <service>
:使服务开机自启。systemctl disable <service>
:禁止服务开机自启。systemctl daemon-reload
:重新加载systemd配置。journalctl
:查看系统日志。
单元文件示例
|
|