有人想讓Linux啓動時自動運行某個程序。像RedHat就是在/etc/rc.d/rc.local中加入程序啓動的命令。對於SuSE,命令則加在/etc/init.d/boot.local中。由於之前用過RedHat多一些,因此先說說RedHat啓動方式
RedHat的啓動方式和執行次序是:
加載內核
執行init程序
/etc/rc.d/rc.sysinit # 由init執行的第一個腳本
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL爲缺省的運行模式
/etc/rc.d/rc.local #相應級別服務啓動以後、在執行該文件(其實也能夠把須要執行的命令寫到該文件中)
/sbin/mingetty # 等待用戶登陸
在Redhat中,/etc/rc.d/rc.sysinit主要作在各個運行模式中相同的初始化工做,包括:
調入keymap以及系統字體
啓動swapping
設置主機名
設置NIS域名
可是對於服務器類程序(如mysql服務),推薦使用正規的方式來管理服務啓動。這裏就談談Ubuntu是怎樣管理服務的
添加一個服務
# sudo update-rc.d 服務名 defaults
刪除一個服務
# sudo update-rc.d -f 服務名 remove
臨時服務啓動中止等
# /etc/init.d/服務名 start|restart|stop mysql