Systemd

在 sysvinit 中,telinitinit 在同一個程序中執行嗎?

  • December 19, 2018

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 中,systemdsystemctl是不同的程序文件。是否 在 sysvinit 中扮演與sysvinittelinit相同的角色?init``systemctl``systemd

謝謝。

它是一個符號連結,但程序可以查看它們的呼叫方式並執行不同的操作。這在 Unix 世界中極為常見。

因此,當您執行telinit命令時,它會在自己的程序空間中執行,與程序分開init。它向init程序發送消息。這可以通過 FIFO 或信號發送,具體取決於編譯時選項。

引用自:https://unix.stackexchange.com/questions/489804