Systemd在 sysvinit 中,
在 sysvinit 中,telinit
和 init
在同一個程序中執行嗎?
在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 或信號發送,具體取決於編譯時選項。