TL;dr

A daemon is a background process that performs a specific function or system task.In keeping with the UNIX and Linux philosophy of modularity, daemons are programs rather than parts of the kernel. Many daemons start at boot time and continue to run as long as the system is up. Other daemons are started when needed and run only as long as they are useful.

守护程序是执行特定功能或系统任务的后台进程。根据UNIX和Linux的模块化原理,守护程序是程序,而不是内核的一部分。只要系统启动,一些必要的守护程序就会在引导时启动并继续运行。另外一些守护程序则在需要时才被启动。

“Daemon” was first used as a computer term by Mick Bailey, a British gentleman who was working on the CTSS programming staff at MIT during the early 1960s.

Mick quoted the Oxford English Dictionary in support of both the meaning and the spelling of the word. The words “daemon” and “demon” both come from the same root,but “daemon” is an older form and its meaning is somewhat different. A daemon is an attendant spirit that influences one’s character or personality. Daemons are not minions of evil or good; they’re creatures of independent thought and will. Daemons made their way from CTSS to Multics to UNIX to Linux, where they are so popular that they need a superdaemon (xinetd or inetd) to manage them.

systemd

systemd 是一个 Linux 系统基础组件的集合,提供了一个系统和服务管理器,运行为 PID 1 并负责启动其它程序。功能包括:支持并行化任务;同时采用 socket 式与 D-Bus 总线式激活服务;按需启动守护进程(daemon);利用 Linux 的 cgroups 监视进程;支持快照和系统恢复;维护挂载点和自动挂载点;各服务间基于依赖关系进行精密控制。systemd 支持 SysV 和 LSB 初始脚本,可以替代 sysvinit。除此之外,功能还包括日志进程、控制基础系统配置,维护登陆用户列表以及系统账户、运行时目录和设置,可以运行容器和虚拟机,可以简单的管理网络配置、网络时间同步、日志转发和名称解析等。

kthreadd

[kthreadd] is the kernel thread daemon. All kthreads are forked off this thread. To demonstrate this fact, run a ps -ef. The other kthreads on the server will have a PPID of [kthreadd] which is usually PPID 2.

Creation of new kernel threads is done via kthreadd so that a clean environment is obtained even if this were to be invoked by userspace by way of modprobe, hotplug cpu, etc.

dbus-daemon

dbus-daemon is the D-Bus message bus daemon. D-Bus is first a library that provides one-to-one communication between any two applications; dbus-daemon is an application that uses this library to implement a message bus daemon. Multiple programs connect to the message bus daemon and can exchange messages with one another.

auditd

auditd is the userspace component to the Linux Auditing System. It’s responsible for writing audit records to the disk. Viewing the logs is done with the ausearch or aureport utilities. Configuring the audit rules is done with the auditctl utility. During startup, the rules in /etc/audit/audit.rules are read by auditctl. The audit daemon itself has some configuration options that the admin may wish to customize. They are found in the auditd.conf file.

polkitd

polkitd provides the org.freedesktop.PolicyKit1 D-Bus service on the system message bus. Users or administrators should never need to start this daemon as it will be automatically started by dbus-daemon whenever an application calls into the service.

lvmetad

lvmetad is a metadata caching daemon for LVM. The daemon receives notifications from udev rules (which must be installed for LVM to work correctly when lvmetad is in use). Through these notifications, lvmetad has an up-to-date and consistent image of the volume groups available in the system.

rsyslogd

Rsyslogd是一个系统实用程序,为消息记录提供支持。Internet和Unix域套接字的支持使该实用程序既可以支持本地日志记录,也可以支持远程日志记录。

systemd-journald

systemd 提供了自己的日志系统(logging system),称为 journal。使用 systemd 日志,无需额外安装日志服务(syslog)。

chronyd

chronyd is a daemon for synchronisation of the system clock. It can synchronise the clock with NTP servers, reference clocks (e.g. a GPS receiver), and manual input using wristwatch and keyboard via chronyc. It can also operate as an NTPv4 (RFC 5905) server and peer to provide a time service to other computers in the network.

If no configuration directives are specified on the command line, chronyd will read them from a configuration file. The compiled-in default location of the file is /etc/chrony.conf.

fwupd

fwupd 是帮助你在 Linux 下更新固件的小工具,支持但不限于 UEFI/BIOS 固件。

ref