每次系統開機的時候,都會根據不同的runlevel級別啟動不同的服務。本文將為您揭示linux系統的開機啟動服務的修改與查看。
開機按[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
2. 還可以手工修改,在/etc/rc.d/這個目錄里有很多不同runlevel對應的目錄,里面表明進入某個啟動級別時要啟動和停止那些服務。
例如:
[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開頭則是要啟動那些服務。
注意:先執行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開機自啟動之間的區別和聯系。