我发现没有systemctl isolate
一组命令很容易记住。
使用这个词在旧版本之间切换的理由是什么isolate
,但我发现它更加用户友好run levels
?
答案1
我也有同样的疑问。从systemctl 手册页:
隔离单元
启动命令行中指定的单元及其依赖项并停止所有其他单元,除非它们具有 IgnoreOnIsolate=yes(请参阅 systemd.unit(5))。如果给出的单元名称没有扩展名,则将假定其扩展名为“.target”。
这类似于在传统的 init 系统中更改运行级别。isolate 命令将立即停止新单元中未启用的进程,可能包括您当前正在使用的图形环境或终端。
请注意,这仅在启用了 AllowIsolate= 的单元上才允许。有关详细信息,请参阅 systemd.unit(5)。
因此“隔离”一词意味着运行请求的单元,并确保没有其他任何单元正在运行(除了上面提到的一些例外)。
由于运行级别已经被目标(或多或少只是一组您希望在特定情况下运行的服务,例如multi-user
或graphical
使用)所取代,您可以通过启动等效目标并停止不属于新目标的任何内容来切换到“运行级别” - 使用isolate
。