每次系統開機的時候,都會根據不同的runlevel層級啟動不同的服務。
開機按[CTRL]+[ALT]+[F7]/[F8]可查看系統啟動時正在啟動的服務!!!!
眾所周知Linux給我們提供了7中不同的啟動層級0~6,那麼不同的啟動層級都會啟動那些服務哪。可以使用chkconfig ——list 查看,可以使用chkconfig 服務名 ——level 3 {on|of}修改是否要再某個層級啟動或停止。
1. 例如:要把sshd服務在第3種啟動層級中停止。
[root@team4 rc3.d]# chkconfig sshd --level 3 off 中國網管聯盟www.bitscn.com
|
2. 還可以手工修改,在/etc/rc.d/這個目錄裡有很多不同runlevel對應的目錄,裡面表明進入某個啟動層級時要啟動和停止那些服務。
例如: 中國網管聯盟www、bitsCN、com
[root@team4 etc]# ls /etc/rc.d init.d rc0.d rc2.d rc4.d rc6.d rc.sysinit rc rc1.d rc3.d rc5.d rc.local 我們用rc3.d這個目錄為例,這個目錄裡面記錄的是進入init 3時需要停止和啟動那些服務。 下面為rc3.d目錄的內容:
[root@team4 etc]# ls /etc/rc.d/rc3.d/ K02avahi-dnsconfd K89pand S25bluetooth K02dhcdbd K89rdisc S25netfs K02NetworkManager K91capi S25pcscd K02NetworkManagerDispatcher K99readahead_later S26apmd K05conman S04readahead_early S26hidd |
K開頭代表這個啟動層級需要停止的服務,編號是停止的時候執行的順序,再後面就是服務明了。
S開頭則是要啟動那些服務。 網管網bitsCN_com
注意:先執行K開頭的,後執行S開頭的。所以S開頭的服務會覆蓋K開頭的服務。
Linux設定程式的開機自啟動與Linux服務這裡只說我所知道的,舉例如下
需求是我要用Windows下的VNC Viewer串連到Linux Server. 我在Linux下面輸入
#vncserver
設定好密碼,好現在我就可以在Windows下面使用VNC串連到Linux案頭了,這個時候如果我的Linux Server系統重啟了,那麼我還得再敲一次vncserver這個命令,所以我現在要讓Linux Server在開機時自動啟動vncserver
有哪些方法呢?
1. 我可以把vncserver設定成系統的服務,並啟動起來,使用如下命令查看vncserver是否已經是系統的服務
#chkconfig –list|grep vnc
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
現在我們要設定vncserver開機自啟動,使用如下命令
#chkconfig –level 5 vncserver on#chkconfig –list|grep vnc
vncserver 0:off 1:off 2:off 3:off 4:off 5:on 6:off
這個時候重啟系統,那麼vncserver就會以服務的方式自動起來,但是現在如果想立即使用vnc則直接敲命令 vncserver即可
2. 我們可以把vncserver這條命令寫在Linux開機要啟動並執行指令碼裡面,那些指令碼是Linux開機時要執行的呢?
我知道的有以下這些:
/etc/rc.local
/etc/rc.sysinit
/etc/inittab
/etc/profile
這裡記住Linux服務於Linux開機自啟動之間的區別和聯絡
要將一台機器的預設啟動運行level設定為字元介面, 你需要修改/etc/inittab,
# The default runlevel is defined here
id:5:initdefault:
將上面的運行層級5 修改為3 就可以以字元介面模式啟動