systemctlisolate--“isolate”一词背后的原因是什么?

systemctlisolate--“isolate”一词背后的原因是什么?

我发现没有systemctl isolate一组命令很容易记住。

使用这个词在旧版本之间切换的理由是什么isolate,但我发现它更加用户友好run levels

答案1

我也有同样的疑问。从systemctl 手册页

隔离单元

启动命令行中指定的单元及其依赖项并停止所有其他单元,除非它们具有 IgnoreOnIsolate=yes(请参阅 systemd.unit(5))。如果给出的单元名称没有扩展名,则将假定其扩展名为“.target”。

这类似于在传统的 init 系统中更改运行级别。isolate 命令将立即停止新单元中未启用的进程,可能包括您当前正在使用的图形环境或终端。

请注意,这仅在启用了 AllowIsolate= 的单元上才允许。有关详细信息,请参阅 systemd.unit(5)。

因此“隔离”一词意味着运行请求的单元,并确保没有其他任何单元正在运行(除了上面提到的一些例外)。

由于运行级别已经被目标(或多或少只是一组您希望在特定情况下运行的服务,例如multi-usergraphical使用)所取代,您可以通过启动等效目标并停止不属于新目标的任何内容来切换到“运行级别” - 使用isolate

相关内容