如何检查你的 Linux 系统是否使用 systemd
创始人
2024-03-02 18:24:57
0

不知道在使用哪个初始化系统?以下是方法。

每个主流 Linux 发行版(包括 Ubuntu、Fedora、openSUSE 和 Arch)默认都使用 systemd。

但是有 许多非 systemd 发行版,例如使用轻量级 runit 来获得更好性能的 Void Linux 或主要使用 sysvinit 的 Devuan。

当你尝试遵循某些教程或文档并且其中包含特定于 systemd 或某些其他初始化服务的命令时,就会出现问题。

这时,你必须检查你的 Linux 系统使用的是 systemd 还是其他系统。

一种方法是检查 PID 为 1 的进程(毕竟,初始化系统是 Linux 系统上运行的第一个进程)。

ps 1

但它的输出可能会产生误导,因为它经常显示 /sbin/init,这只是实际的初始化进程的软链接。

如果你 跟随该符号链接,就可以获取初始化系统信息。有两种方法:

  • 使用 stat 命令
  • 使用 readlink 命令

那么让我们从第一个开始。

? 这些方法在 6 个初始化系统中进行了测试:Systemd、OpenRC、SysVinit、Busybox、runit 和 s6。

方法 1:使用 stat 命令检查 systemd 是否正在使用

以下是如何使用 stat 命令来了解你正在使用的初始化系统:

stat /sbin/init

如果你使用的是 systemd 支持的发行版,那么它将显示以下输出:

但是,如果你使用 systemd 之外的其他任何东西,它将显示初始化系统的名称,但是如果你使用的是 SysVinit,它只会显示 init 而不是 sysvinit

SysVinit only displays “init” instead of sysvinit

与之前的方法不同,当你使用 readlink 命令时,它只会打印初始化系统的名称。

因此,如果你想知道你是否正在使用 Systemd,只需使用以下命令:

readlink /sbin/init

如果你使用 OpenRC 初始化访问,那么它将显示以下输出:

但如果你使用 SysVinit,那么它会显示以下输出:

我为你写的小“脚本”

另一种方法是检查 /run/systemd/system 目录是否存在。

好吧,最简单的找出方法是在终端中 使用 if-else bash 命令,它将检查你是否正在运行由 systemd 驱动的发行版:

if [ -d /run/systemd/system ]; then echo "System is running systemd"; else echo "System is not running systemd"; fi

有关 systemd 的更多信息

当你知道你正在使用 systemd 支持的发行版,你就可以 使用 systemctl 命令管理服务

当然你也可以从头开始 创建一个 systemd 服务

我希望本指南对你有所帮助。

(题图:DA/02d49f79-0ec4-4e49-ae72-e3d46877dfa6)


via: https://itsfoss.com/check-if-systemd/

作者:Sagar Sharma 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

微软发布winapp开源命...
微软昨日(1 月 22 日)发布博文,为简化 Windows 应用...
2026-01-23 17:19:23
深度学习(23):用一个 ...
文章目录一、用一个`tensor`使用赋值初始化另...
2025-06-01 13:17:34
Vue2源码-初始化
源码能理解的问题 Q1. 如何让构造函数和class 一样...
2025-05-31 03:39:03
HCIE-Cloud Co...
管理节点:用赤色标注 计算节点:用橙色标注 网络节点:用绿色标注 ...
2025-05-30 08:02:56
ROS工作空间的初始化
ROS工作空间的初始化 colcon是ROS构建工具catkin_...
2025-05-29 19:25:03
SpringBoot MV...
为了更好的去理解Spring MVC的工作机制,这篇...
2025-05-29 18:53:28

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...