⑴ linux每次系統啟動時也啟動DHCPD,要執行什麼命令
Linux啟動時執行命令
1. Linux 啟動順序:
(1)BIOS自檢 www.2cto.com
(2)運行系統內核並檢測硬體
(3)運行系統的第一個進程init
(4)init讀取系統引導配置文件:
/etc/inittab中的信息進行初始化
/etc/rc.d/rc.sysinit------系統初始化腳本
/etc/rc.d/rcX.d/[KS]*------根據運行級別配置服務
/etc/rc.d/rc.local---------執行本地特殊配置
其它---------不同運行級別的特殊服務
Linux啟動運行init程序來啟動相關程序初始化,與啟動相關的一個概念是運行級,
運行級是操作系統當前運行的級別,在不同運行級別上可以定義屬於該運行級的啟
動程序,系統的運行級別可以在/etc/inittab文件指定,與運行級相關運行程序通
過從源/etc/rc.d/init.d下鏈接到目的/etc/rcX.d,這里X為系統的默認運行級別,
因此,默認的啟動腳本放在/etc/rc.d/init.d下。
有人建議在.login中執行相應命令,或在.bashrc(用tcsh shell,在.tcshrc)里
寫命令。這是不行的,.login是在用戶登錄時執行,用戶可能在本地無需登錄,或
者在遠程多個用戶登錄,多次登錄;而.tcshrc是在shell啟動時執行,登錄後用戶
一般會多次打開shell,這樣該命令或程序就會被多次執行。
2. 預設的運行級,Linux用到的級別如下:
# 0 - 停機(千萬不要把initdefault 設置為0 )
# 1 - 單用戶模式
# 2 - 多用戶,但是沒有 NFS
# 3 - 完全多用戶模式
# 4 - 沒有用到
# 5 - X11
# 6 - 重新啟動 (千萬不要把initdefault 設置為6 )
對各個運行級的詳細解釋:
0 為停機,機器關閉。
1 為單用戶模式,就像Win9x 下的安全模式類似。
2 為多用戶模式,但是沒有NFS 支持。
3 為完整的多用戶模式,是標準的運行級。
4 一般不用,在一些特殊情況下可以用它來做一些事情。
例如在筆記本電腦的電池用盡時,可以切換到這個模式來做一些設置。
5 就是 X11 ,進到 X Window 系統了。
6 為重啟,運行 init 6 機器就會重啟。
3. 如何讓系統在啟動是運行指定程序,根據啟動順序中的第四步,有兩種方式。
一種方式是根據運行級別配置服務。 www.2cto.com
一種方式是執行本地特殊配置。
舉例,任務在啟動是運行命令cvslockd:
方式一:
(1)建立自啟動腳本/etc/rc.d/init.d/cvslockd,內容為:
#!/bin/bash
/usr/local/bin/cvslockd
設置文件的屬性為可執行:
#chmod +x /etc/rc.d/init.d/cvslockd
(2)查看計算機運行級別,在文件/etc/inittab里看到id:5:initdefault:,
則此系統運行級別為5。
(3)到/etc/rc5.d目錄下,把你要執行的可執行文件做一個軟連接,而且在
命名的時候要以大寫S字母開頭,S之後的數字大小代表執行順序的先後,
數字越大越後執行。
#ln -s /etc/rc.d/init.d/cvslockd /etc/rc5.d/S100cvslockd
#ln -s /etc/rc.d/init.d/cvslockd /etc/rc0.d/K20cvslockd
方式二:
在/etc/rc.d/rc.local 添加 exec /usr/local/bin/cvslockd
該方式是在最後啟動cvslockd。
還有一個論壇,也有關於這個的討論:http://bbs.chinaunix.net/thread-2171011-1-1.html
⑵ linux 中重啟DHCP的N中方法
使用服務重啟
service dhcpd restart
使用腳本
/etc/init.d/dhcpd restart
或者直接ps -ef出dhcp的pid
kill掉
再啟動
/etc/init.d/dhcpd start