Linux 下的 init 0,1,2,3,4,5,6知識介紹
公眾號關(guān)注“杰哥的IT之旅”,
選擇“星標(biāo)”,重磅干貨,第一時間送達!

作者:Lesstar
來源:https://blog.csdn.net/cougar_mountain/article/details/9798191
由于公眾號的改版,為了保證你們第一時間能看到我的文章,大家記得將公眾號?加星標(biāo)置頂?哦!
對于這個知識點,自己以前一直不了解,今天特意總結(jié)下,作為自己的一個學(xué)習(xí)記錄
一. init是Linux系統(tǒng)操作中不可缺少的程序之一。
所謂的init進程,它是一個由內(nèi)核啟動的用戶級進程。
內(nèi)核自行啟動(已經(jīng)被載入內(nèi)存,開始運行,并已初始化所有的設(shè)備驅(qū)動程序和數(shù)據(jù)結(jié)構(gòu)等)之后,就通過啟動一個用戶級程序init的方式,完成引導(dǎo)進程。
所以,init始終是第一個進程(其進程編號始終為1)。
內(nèi)核會在過去曾使用過init的幾個地方查找它,它的正確位置(對Linux系統(tǒng)來說)是/sbin/init。
如果內(nèi)核找不到init,它就會試著運行/bin/sh,如果運行失敗,系統(tǒng)的啟動也會失敗。
二. init一共分為7個級別,這7個級別的所代表的含義如下
0:停機或者關(guān)機(千萬不能將initdefault設(shè)置為0)
1:單用戶模式,只root用戶進行維護
2:多用戶模式,不能使用NFS(Net File System)
3:完全多用戶模式(標(biāo)準(zhǔn)的運行級別)
4:安全模式
5:圖形化(即圖形界面)
6:重啟(千萬不要把initdefault設(shè)置為6)
其實,可以通過查看/etc/rc.d/中的rc*.d的文件來對比理解。
init 0,對應(yīng)的系統(tǒng)會運行,/etc/rc.d/rc0.d里指定的程序。我們來看下名稱
[root@localhost??~]#?ls?/etc/rc.d/rc0.d?
K01dnsmasq????K15ksmtuned??K35nmb?????????K60crond???????K74lm_sensors??K83portreserve?????K85rpcgssd????K88iscsi?????K90network???????S00killall
K10cups???????K16ksm???????K35smb?????????K66gpsd????????K75netfs???????K84NetworkManager??K85rpcidmapd??K88rsyslog???K92ip6tables?????S01halt
K10saslauthd??K20nfs???????K36mysqld??????K69rpcsvcgssd??K75udev-post???K84wpa_supplicant??K86nfslock????K89iscsid????K92iptables
K10xfs????????K25sshd??????K50haldaemon???K70vboxdrv?????K76openvpn?????K85mdmonitor???????K87alsasound??K89netplugd??K98qemu
K15gpm????????K30sendmail??K50netconsole??K74acpid???????K83bluetooth???K85messagebus??????K87rpcbind????K89rdisc?????K99lvm2-monitor
開機會執(zhí)行的兩個進程是killall和halt,這兩個都表示為終止進程。
故init 0是用于表示關(guān)機的。
init 1,對應(yīng)的系統(tǒng)會運行,/etc/rc.d/rc1.d里指定的程序。
[root@localhost?~]?#?ls?/etc/rc.d/rc1.d
K01dnsmasq????K15ksmtuned??K35nmb?????????K60crond???????K74lm_sensors???K84NetworkManager??K85rpcidmapd??K88rsyslog???K92ip6tables?????S99single
K10cups???????K16ksm???????K35smb?????????K66gpsd????????K75netfs????????K84wpa_supplicant??K86nfslock????K89iscsid????K92iptables
K10saslauthd??K20nfs???????K36mysqld??????K69rpcsvcgssd??K76openvpn??????K85mdmonitor???????K87alsasound??K89netplugd??K98qemu
K10xfs????????K25sshd??????K50haldaemon???K70vboxdrv?????K83bluetooth????K85messagebus??????K87rpcbind????K89rdisc?????S02lvm2-monitor
K15gpm????????K30sendmail??K50netconsole??K74acpid???????K83portreserve??K85rpcgssd?????????K88iscsi??????K90network???S26udev-post
這個級別啟動的服務(wù)有三個,udev、lvm相關(guān)的和single(單用戶模式的服務(wù))。故此級別是單用戶模式,只有root能用,不支持其他用戶。
init 2,對應(yīng)的系統(tǒng)會運行,/etc/rc.d/rc2.d里指定的程序。
[root@localhost?~?]#?ls?/etc/rc.d/rc2.d/
K01dnsmasq????K20nfs???????K36mysqld??????K74lm_sensors??????K85rpcgssd????K89netplugd??????S08iptables????S23NetworkManager??S30vboxdrv????S99local
K10saslauthd??K25sshd??????K50haldaemon???K75netfs???????????K85rpcidmapd??K89rdisc?????????S12rsyslog?????S24portreserve?????S35qemu
K10xfs????????K30sendmail??K50netconsole??K76openvpn?????????K86nfslock????K90network???????S13rpcbind?????S25cups????????????S85gpm
K15ksmtuned???K35nmb???????K66gpsd????????K83bluetooth???????K88iscsi??????S02lvm2-monitor??S15mdmonitor???S26acpid???????????S90crond
K16ksm????????K35smb???????K69rpcsvcgssd??K84wpa_supplicant??K89iscsid?????S08ip6tables?????S22messagebus??S26udev-post???????S99alsasound
這個級別啟動的服務(wù)多了,NetworkManager/iptables/acpid/alsa都已經(jīng)開啟,但是nfs,smb,openvpn相關(guān)服務(wù)沒有開啟,這個級別不支持nfs。
init 3, 對應(yīng)的系統(tǒng)運行/etc/rc.d/rc3.d
[root@localhost?~]?#?ls?/etc/rc.d/rc3.d/
K01dnsmasq????K30sendmail????K74lm_sensors??????K89rdisc?????????S08iptables??S18rpcidmapd???????S25cups???????S35qemu???????S85ksmtuned???S99local
K10saslauthd??K36mysqld??????K76openvpn?????????K90network???????S12rsyslog???S19rpcgssd?????????S25netfs??????S50bluetooth??S90crond
K10xfs????????K50netconsole??K84wpa_supplicant??K99lvm2-monitor??S13iscsi?????S22messagebus??????S26acpid??????S50haldaemon??S91nmb
K20nfs????????K66gpsd????????K85mdmonitor???????S07iscsid????????S13rpcbind???S23NetworkManager??S26udev-post??S84ksm????????S91smb
K25sshd???????K69rpcsvcgssd??K89netplugd????????S08ip6tables?????S14nfslock???S24portreserve?????S30vboxdrv????S85gpm????????S99alsasound
這個級別nfs服務(wù)是開啟的,被成為完全多用戶模式。
init 4
[root@localhost?~?]#?ls?/etc/rc.d/rc4.d/
K01dnsmasq????K30sendmail????K66gpsd????????????K85mdmonitor?????S07iscsid?????S13rpcbind?????S23NetworkManager??S26udev-post??S84ksm????????S99local
K10saslauthd??K35nmb?????????K69rpcsvcgssd??????K89netplugd??????S08ip6tables??S14nfslock?????S24portreserve?????S30vboxdrv????S85gpm
K10xfs????????K35smb?????????K74lm_sensors??????K89rdisc?????????S08iptables???S18rpcidmapd???S25cups????????????S35qemu???????S85ksmtuned
K20nfs????????K36mysqld??????K76openvpn?????????K90network???????S12rsyslog????S19rpcgssd?????S25netfs???????????S50bluetooth??S90crond
K25sshd???????K50netconsole??K84wpa_supplicant??K99lvm2-monitor??S13iscsi??????S22messagebus??S26acpid???????????S50haldaemon??S99alsasound
此模式被稱為安全模式。
init 5
[root@localhost?~?]#?ls?/etc/rc.d/rc5.d/
K01dnsmasq????K25sshd????????K66gpsd?????????K84wpa_supplicant??K87rpcbind???K90network???????S22messagebus??????S26udev-post??S84ksm????????S99local
K10saslauthd??K30sendmail????K69rpcsvcgssd???K85mdmonitor???????K88iscsi?????K99lvm2-monitor??S23NetworkManager??S30vboxdrv????S85ksmtuned
K10xfs????????K36mysqld??????K74lm_sensors???K85rpcgssd?????????K89iscsid????S08ip6tables?????S25cups????????????S35qemu???????S91nmb
K15gpm????????K50netconsole??K76openvpn??????K85rpcidmapd???????K89netplugd??S08iptables??????S25netfs???????????S50bluetooth??S91smb
K20nfs????????K60crond???????K83portreserve??K86nfslock?????????K89rdisc?????S12rsyslog???????S26acpid???????????S50haldaemon??S99alsasound
完全的圖形化界面模式
init 6
[root@localhost?~?]#?ls?/etc/rc.d/rc6.d/
K01dnsmasq????K15ksmtuned??K35nmb?????????K60crond???????K74lm_sensors??K83portreserve?????K85rpcgssd????K88iscsi?????K90network???????S00killall
K10cups???????K16ksm???????K35smb?????????K66gpsd????????K75netfs???????K84NetworkManager??K85rpcidmapd??K88rsyslog???K92ip6tables?????S01reboot
K10saslauthd??K20nfs???????K36mysqld??????K69rpcsvcgssd??K75udev-post???K84wpa_supplicant??K86nfslock????K89iscsid????K92iptables
K10xfs????????K25sshd??????K50haldaemon???K70vboxdrv?????K76openvpn?????K85mdmonitor???????K87alsasound??K89netplugd??K98qemu
K15gpm????????K30sendmail??K50netconsole??K74acpid???????K83bluetooth???K85messagebus??????K87rpcbind????K89rdisc?????K99lvm2-monitor
這個級別里,只有兩個服務(wù),一個為killall,一個是reboot,即,關(guān)閉現(xiàn)在的系統(tǒng),重啟。故此級別是重啟。
不同的系統(tǒng)版本,可能里面的文件會不同,如果要查看,可以通過ll來看,其實他們都是軟連接。
往期資源回顧 需要可自取
推薦閱讀
點個[在看],是對杰哥最大的支持!

