在https://manpages.debian.org/stretch/sysvinit-core/init.8.en.html
/sbin/telinit 链接到 /sbin/init。它接受一个单字符参数并指示init 执行适当的操作。
...
Init在 /run、/run/initctl 中的 fifo上侦听消息。Telinit 使用它与 init 通信。
第一句话是否意味着这 telinit
是一个符号链接init
?如果是,是否正确telinit
并且init
在同一进程中运行(例如,可能通过某些文件锁定)?如果是,如何使用 FIFO 或信号进行telinit
通信?init
为了比较,在 Systemd 中,systemd
和systemctl
是不同的程序文件。是否 在 sysvinit 中扮演与sysvinittelinit
相同的角色?init
systemctl
systemd
谢谢。
它是一个符号链接,但程序可以查看它们的调用方式并执行不同的操作。这在 Unix 世界中极为常见。
因此,当您运行
telinit
命令时,它会在自己的进程空间中运行,与进程分开init
。它向init
进程发送消息。这可以通过 FIFO 或信号发送,具体取决于编译时选项。