任务管理器system idle process


任务管理器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) 文档地址

  任务管理器system idle process