systemd 范围有什么用处?

systemd 范围有什么用处?

我只是想知道范围是什么。然而这(https://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/)总结得非常好,但同时对我来说还是有点困惑。

文章部分内容:

“服务、范围和切片可以由管理员自由创建,也可以由程序动态创建。”

  • 使用自定义范围有什么好处和目的?
  • 创建范围的唯一方法(无需编程)是 systemd-run --scope?

答案1

我之前发过这个答案关于这个话题,请查看是否能解答你的疑问。

简而言之,范围是一种为进程树创建 cgroup 的方式,而 systemd 并不是生成进程本身的方式(就像它对服务单元所做的那样)。

使用systemd-run --scope是启动新范围的一个很好的例子(并且进程本身将由启动systemd-run,而不是由 systemd PID 1 启动。)

使用自定义范围有什么好处和目的?

从隔离的角度来看,类似于运行服务。您可以对特定进程组进行统计并对 CPU、内存等资源进行限制。

使用服务以外的范围的好处是,您可以从当前环境启动进程,而不必通过系统管理器启动它。特别是,这允许您在连接到本地上下文的范围(例如 X11 服务器、SSH 连接或可以访问 ssh 代理等)中运行进程。您可以将任何进程(甚至是现有进程)移动到您创建的范围,而服务将始终启动新进程,并且通常具有经过清理的环境。

创建范围(无需编程)的唯一方法是systemd-run --scope

还有其他方法可以启动范围。例如,使用该busctl工具是一种可能性,但很难说您是否会将其视为“编程”……但这将允许您将现有流程移动到新创建的范围,而这systemd-run本身无法完成。

我希望您发现这些指示很有用。

相关内容