如何检查 Linux 系统当前的运行级别如何检查 Linux 系统当前的运行级别如何检查 Linux 系统当前的运行级别如何检查 Linux 系统当前的运行级别
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何检查 Linux 系统当前的运行级别

发表 admin at 2025年2月28日
类别
  • 未分类
标签
月額480円〜の高速レンタルサーバー ColorfulBox

在 systemd 出现之前,大多数主要的 Linux 发行版都运行 Sys-V 风格的 init 系统。 Sys-V 使用七种不同的“运行级别”来确定在系统上启动哪些进程。例如,运行级别 3 通常保留用于命令行及其相关程序,而运行级别 5 将启动 GUI 及其所需的所有进程。结果可能会有所不同,具体取决于相关发行版。

如今,绝大多数 Linux 发行版都采用 systemd 作为其 init 系统。一些发行版仍然使用 Sys-V,其中如上所述的运行级别的实现仍然存在。在 systemd 系统上,运行级别的概念仍然存在,但它们已适应 systemd“目标”。

Sys-V 的残余仍然存在于某些系统上,像 runlevel 这样的命令仍然有效。但一些现代的 systemd 发行版已经完全消除了这种支持。在本指南中,我们将向您展示如何检查 Linux 上的当前运行级别。

在本教程中您将学习:

  • 如何检查当前的运行级别

检查 Linux 系统上的当前运行级别

检查当前运行级别

可以使用以下命令查看当前的运行级别。这仅适用于某些 systemd 发行版,但应该适用于任何 Sys-V 系统。


$ runlevel

或者,您可以运行以下命令:


$ who -r

检查 Linux 系统上的当前运行级别

在上面的屏幕截图中,您可以看到我们的系统当前处于运行级别 5。这是一个 systemd 发行版,这意味着运行级别的概念主要是为了兼容性而保留的。实际上,各种运行级别已映射到相应的 systemd 目标。您可以使用以下命令亲自查看这一点。


$ ls -l /lib/systemd/system/runlevel*

您可以在此处查看 systemd 目标如何映射到 Sys-V 样式运行级别

与运行级别一样,默认有 7 个 systemd 目标。两个主要目标是 multi-user.target 和 graphical.target。您可以使用以下命令查看系统的默认 systemd 目标。


$ systemctl get-default

确定默认的 systemd 目标

在我们的测试系统上,我们位于 graphical.target 中,这是有意义的,因为我们正在运行 GUI。

要查看哪些服务映射到此目标,请使用以下命令。


$ systemctl list-dependencies graphical.target

检查systemd中graphical.target的依赖关系

要查看服务需要运行哪个 systemd 目标(或运行级别),请尝试以下命令。在此示例中,我们将检查 SSH 服务。


$ systemctl show -p WantedBy sshd.service

检查服务被分配到哪个 systemd 目标

要禁用或启用特定服务在其分配的运行级别上自动启动,可以使用以下命令。


$ sudo systemctl enable sshd.service
OR
$ sudo systemctl disable sshd.service

在 Sys-V init 系统上,您可以使用旧的 chkconfig 命令,该命令不适用于现代 systemd 发行版。例如,要在运行级别 2 上运行 apache2,您将使用以下命令:


# chkconfig apache2 2

结束语

在本指南中,我们了解了如何检查 Linux 系统的当前运行级别。我们还看到了与运行级别相关的命令如何只是 Sys-V 的残余,并且仅在某些 systemd 发行版上实现作为向后兼容性的一种手段。无论您使用的是 systemd(很可能)还是使用 Sys-V 的发行版,此处的命令都将帮助您确定运行级别并启用或禁用进程在其中运行。

©2015-2025 Norria support@alaica.com