init 0我习惯了调用shutdown的老方法。不好,我知道;但是当我在新的 Arch 安装上尝试它时,我得到了这个:
# init 0
Excess Arguments
Run Code Online (Sandbox Code Playgroud)
这让我很困惑,因为我认为systemd应该支持运行级别?查看手册页,它提到了这一点:
为了与 SysV 兼容,如果 systemd 被称为 init 并且 PID 不为 1,它将执行 telinit 并传递所有未修改的命令行参数。这意味着 init 和 telinit 在从正常登录会话调用时基本上是等效的。有关详细信息,请参阅 telinit(8)。
我只是使用了错误的语法还是我完全误解了systemd?
# command -v init
/usr/bin/init
# file /bin/init
/usr/bin/init: symbolic link to ../lib/systemd/systemd
# /lib/systemd/systemd --version
systemd 234
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN default-hierarchy=hybrid
Run Code Online (Sandbox Code Playgroud)
# command -v telinit
/usr/bin/telinit
# file …Run Code Online (Sandbox Code Playgroud)