关于exit.target
,man systemd.special
指出:
用于关闭系统或用户服务管理器的特殊服务单元。它相当于非容器系统上的 poweroff.target,也适用于容器。
当 systemd 作为用户服务守护进程运行时,收到 SIGTERM 或 SIGINT 信号时,它将启动该单元。
通常,这(间接)会引入 shutdown.target,而当服务管理器开始退出时,所有想要安排关闭的单元都会与 shutdown.target 发生冲突。
我的理解是,它是为了关闭被要求针对它的 systemd 实例(无论是用户还是 root)。然而,“非容器系统”这个词让我感到困惑。所有现代 Linux 内核不都是有效的“容器系统”吗?这是为了让手册页在有人尝试将 systemd 移植到其他 Unix 时仍然有意义吗?或者这是否指的是我不知道的基于 systemd 的 Linux 发行版的某些特征?
答案1
有根据的猜测:
在这种情况下,术语“容器系统”是指 docker 或 lxc 容器。联机帮助页试图告诉您,在“非容器系统”(即普通 PC/服务器或虚拟机)上,exit.target 和 poweroff.target 完全相同,只是名称不同。另一方面,在“容器系统”中, exit.target 做了一些不同的事情:只是退出容器,而不是关闭整个系统。