Linux
重啟的兩種實現?
為什麼在我的 linux 系統上似乎有兩種重啟的實現?
# find . -name "reboot" ./etc/init.d/reboot ./sbin/reboot
/sbin/reboot 是實際的二進製文件,它實際上是到停止守護程序的符號連結
$ls -la /sbin/reboot lrwxrwxrwx 1 root root 4 Apr 6 2015 /sbin/reboot -> halt
停止二進製文件的編碼方式是,當從命令行呼叫停止或重新啟動時,行為會有所不同。
/etc/init.d/reboot 實際上是關閉時在執行級別 6 中呼叫的腳本,通過:
/etc/init.d/rc6.d/K10reboot
如你看到的:
$ ls -la /etc/rc6.d/K10reboot lrwxrwxrwx 1 root root 16 Nov 14 18:19 /etc/rc6.d/K10reboot -> ../init.d/reboot
當使用選項 stop 呼叫實際的 /etc/init.d/reboot 時,正如上面提到的 Kxx 符號連結所發生的那樣,將重啟二進製文件稱為
reboot -d -f -i
從“人重啟”
-d Don't write the wtmp record. -i Shut down all network interfaces just before halt or reboot. -f Force halt or reboot, don't call shutdown(8).
至於關於 Kxxx 腳本和執行級別 6 的註釋,它們是 Sys V 初始化腳本的一部分。
請在此處查看說明: