Linux

如果我使用“telinit 6”而不是“rebo ot”命令重新啟動我的電腦,它會有什麼不同?

  • March 30, 2018

我試圖了解 Unix 中的執行級別,我發現執行級別 6 是重新啟動狀態。所以我嘗試使用該命令切換到執行級別 6 ,它與我的電腦上的telinit 6工作方式相同。reboot我使用的是 Kali Linux,所以不需要 sudo。

更改/切換符文級別只是呼叫某個程序的命令嗎?當我們啟動、重新啟動或關閉電源時,我們只是在改變執行級別嗎?

init基於作業系統/sbin/telinit中連結到/sbin/init和在systemed基於作業系統中它連結到/sbin/systemed. 因此,這是一種與或類似軟體進行通信的init方式systemed

telinit 6和的結果reboot是一樣的,但他們卻領悟了不同的想法。

引用自http://www.tutorialspoint.com/unix_commands/init.htm

執行級別是系統的軟體配置,它只允許一組選定的程序存在。

因此,更改runlevel不等於rebootingor power off

基於init作業系統的作業系統runlevel/etc/inittab. 在啟動系統時init讀取文件以決定啟動哪些程序組。執行級別 6 表示不要啟動任何程序並重新啟動。

改變/etc/inittab是永久性的。如果文件被修改init,則在重新啟動時更改執行級別並堅持下去,直到進一步修改文件。

效果telinit是一次性的,無需重啟。重新啟動後init再次讀取/etc/inittab並相應地啟動執行級別。

現在,執行級別 6 表示init要終止所有子程序並重新啟動。telinit 6 init殺死所有子程序並重新啟動。上,發出reboot命令,init 做同樣的事情。但是,這並不意味著更改執行級別就等於重新啟動。因為如果您將系統的執行級別更改為 6 永久使用/etc/inittab它將繼續重新啟動。

如果您使用telinit 6重新啟動系統而不是reboot命令它不會有任何區別。

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