任务管理器system idle process

Systemd简介
Systemd是Linux系统中的一个重要组件,旨在解决传统init系统存在的问题。由于init系统在进程管理方面采用的是串行化的方式,容易出现阻塞情况,并且它仅仅是执行启动脚本,无法对服务本身进行更多的管理。Systemd的设计目标是为系统的启动和管理提供一套完整的解决方案。字母d在Linux惯例中是守护进程(daemon)的缩写,因此Systemd的名字意味着它将守护整个系统。使用Systemd后,就不再需要使用initd,Systemd成为系统的第一个进程(PID等于1),其他进程都是它的子进程。
Systemd是目前Linux系统上主要的系统守护进程管理工具,具有以下特点:
1. 支持并行化任务
2. 同时采用socket式与D-Bus总线式激活服务
3. 按需启动守护进程(daemon)
4. 利用Linux的cgroups进程
5. 支持快照和系统恢复
6. 维护挂载点和自动挂载点
7. 各服务间基于依赖关系进行精密控制。
Systemd可以管理所有系统资源,不同的资源被统称为Unit(单元)。Unit主要分为以下几种类型:
1. Service:用于管理守护进程的启动、停止、重启和重载操作,是最常见的一种Unit文件。
2. Target:多个Unit构成的一个逻辑组,用于对Unit文件进行逻辑分组,引导其他Unit的执行。它替代了SysV-init运行级别的作用,并提供更灵活的基于特定设备事件的启动方式。
3. Device:主要用于定义设备之间的依赖关系。
4. Mount:文件系统的挂载点,可以替代过去的/etc/fstab配置文件。
5. Automount:相当于SysV-init的autofs服务。
6. Path:用于监控指定文件或路径的变化,并触发其他Unit运行。
7. Scope:不是用户创建的,而是Systemd运行时产生的,描述一些系统服务的分组信息。
8. Slice:用于表示一个CGroup的树,通常也不是用户创建的。
9. Snapshot:Systemd快照,可以切回某个快照。
10. Socket:监控来自于系统或网络的数据消息,用于实现基于数据自动触发服务启动。
11. Swap:虚拟内存的交换分区。
12. Timer Unit:用于配置在特定时间触发的任务,替代了Crontab的功能。
Systemd Service配置文件
以sshd.service的配置为例,可以使用“systemctl cat sshd.service”命令查看sshd服务的配置文件:
/lib/systemd/system/ssh.service
[Unit]
Description=OpenBSD Secure Shell server 简短描述
Documentation=man:sshd(8) man:sshd_config(5) 文档地址
