有人想让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