我只想知道适用范围。但是,这是一个很棒的摘要(https://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/),与此同时,这让我有些困惑。
文章的一部分:
“服务,范围和分片可以由管理员自由创建,也可以由程序动态创建。”
我以前在主题上发布了此答案,然后看看是否可以为您找到答案。
简而言之,作用域是一种为流程树创建cgroup的方法,而systemd并不是生成流程本身的方法(因为它总是对服务单元起作用)。
使用systemd-run --scope
是启动新作用域的一个很好的例子(该过程本身将由而systemd-run
不是系统的PID 1启动。)
使用自定义范围的目的是什么?
从隔离的角度来看,类似于运行服务。您可以进行会计处理,并限制该特定进程组的资源,例如CPU,内存等。
使用服务以外的范围的好处是,您可以从当前环境启动该过程,而不必通过系统管理器启动。特别是,这使您可以使进程在连接到本地上下文的范围内运行,例如X11服务器或SSH连接,或者可以访问ssh-agent等。您可以移动任何进程(甚至是现有进程) )到您创建的范围内,而服务将始终启动新流程,并且通常使用经过清理的环境。
创建作用域(无需编程)的唯一方法是
systemd-run --scope
?
还有其他方法可以启动作用域。例如,可以使用该busctl
工具,但是很难说出您是否会将其视为“编程” ...但这将使您可以将现有流程移至新创建的作用域,从而systemd-run
可以不能自己做。
我希望这些指针对您有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句