linux 下的init 0,1,2,3,4,5,6知识介绍
一. init是Linux系統(tǒng)操作中不可缺少的程序之一。
所謂的init進(jìn)程,它是一個由內(nèi)核啟動的用戶級進(jìn)程。
內(nèi)核自行啟動(已經(jīng)被載入內(nèi)存,開始運(yùn)行,并已初始化所有的設(shè)備驅(qū)動程序和數(shù)據(jù)結(jié)構(gòu)等)之后,就通過啟動一個用戶級程序init的方式,完成引導(dǎo)進(jìn)程。所以,init始終是第一個進(jìn)程(其進(jìn)程編號始終為1)。
內(nèi)核會在過去曾使用過init的幾個地方查找它,它的正確位置(對Linux系統(tǒng)來說)是/sbin/init。如果內(nèi)核找不到init,它就會試著運(yùn)行/bin/sh,如果運(yùn)行失敗,系統(tǒng)的啟動也會失敗。
?
二. init一共分為7個級別,這7個級別的所代表的含義如下
0:停機(jī)或者關(guān)機(jī)(千萬不能將initdefault設(shè)置為0)
1:單用戶模式,只root用戶進(jìn)行維護(hù)
2:多用戶模式,不能使用NFS(Net File System)
3:完全多用戶模式(標(biāo)準(zhǔn)的運(yùn)行級別)
4:安全模式
5:圖形化(即圖形界面)
6:重啟(千萬不要把initdefault設(shè)置為6)
?
其實(shí),可以通過查看/etc/rc.d/中的rc*.d的文件來對比理解。。
init 0,對應(yīng)的系統(tǒng)會運(yùn)行,/etc/rc.d/rc0.d里指定的程序。我們來看下名稱
[root@localhost ~]# ls /etc/rc.d/rc0.d K01dnsmasq K15ksmtuned K35nmb K60crond K74lm_sensors K83portreserve K85rpcgssd K88iscsi K90network <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);">S00killall</span> K10cups K16ksm K35smb K66gpsd K75netfs K84NetworkManager K85rpcidmapd K88rsyslog K92ip6tables <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);">S01halt</span> 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依照上述紅色字體,開機(jī)會執(zhí)行的兩個進(jìn)程是killall和halt,這兩個都表示為終止進(jìn)程。故init 0是用于表示關(guān)機(jī)的。
?
init 1,對應(yīng)的系統(tǒng)會運(yùn)行,/etc/rc.d/rc1.d里指定的程序。
[root@localhost ~] # ls /etc/rc.d/rc1.d K01dnsmasq K15ksmtuned K35nmb K60crond K74lm_sensors K84NetworkManager K85rpcidmapd K88rsyslog K92ip6tables <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);">S99single</span> 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 <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);"> S02lvm2-monitor</span> K15gpm K30sendmail K50netconsole K74acpid K83portreserve K85rpcgssd K88iscsi K90network <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);">S26udev-post</span>這個級別啟動的服務(wù)有三個,udev、lvm相關(guān)的和single(單用戶模式的服務(wù))。故此級別是單用戶模式,只有root能用,不支持其他用戶。
?
init 2,對應(yīng)的系統(tǒng)會運(yùn)行,/etc/rc.d/rc2.d里指定的程序。
[root@localhost ~ ]# ls /etc/rc.d/rc2.d/ K01dnsmasq K20nfs K36mysqld K74lm_sensors K85rpcgssd K89netplugd <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);">S08iptables</span> <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);">S23NetworkManager S30vboxdrv S99local</span> 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)運(yùn)行/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 <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);">S00killall</span> K10cups K16ksm K35smb K66gpsd K75netfs K84NetworkManager K85rpcidmapd K88rsyslog K92ip6tables <span style="padding: 0px; margin: 0px; color: rgb(255, 0, 0);">S01reboot</span> 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來看,其實(shí)他們都是軟連接。
?
原文地址:http://m.blog.csdn.net/blog/woshizyq/9798191
總結(jié)
以上是生活随笔為你收集整理的linux 下的init 0,1,2,3,4,5,6知识介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: chmod递归授权文件夹(用法)
- 下一篇: twisted系列教程十三–deferr