最一般的需要是:有人想让Linux启动时自动运行某个程序。像RedHat就是在/etc/rc.d/rc.local中加入程序启动的命令。对于SuSE,命令则加在/etc/init.d/boot.local中。因为以前用过RedHat多一些,所以先说说RedHat启动方式
RedHat的启动方式和执行次序是:
[quote] 加载内核
执行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域名
[/quote]
但是对于服务器类程序(如mysql服务),推荐使用正规的方式来管理服务启动。这里就谈谈Ubuntu是怎样管理服务的
[b][size=medium]添加一个服务[/size][/b]
# sudo update-rc.d 服务名 defaults
[b][size=medium]删除一个服务[/size][/b]
# sudo update-rc.d -f 服务名 remove
[b][size=medium]临时服务启动停止等[/size][/b]
# /etc/init.d/服务名 start|restart|stop
对于其他Linux系统,有类似的命令使用,请参阅相关Linux系统文档。
RedHat的启动方式和执行次序是:
[quote] 加载内核
执行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域名
[/quote]
但是对于服务器类程序(如mysql服务),推荐使用正规的方式来管理服务启动。这里就谈谈Ubuntu是怎样管理服务的
[b][size=medium]添加一个服务[/size][/b]
# sudo update-rc.d 服务名 defaults
[b][size=medium]删除一个服务[/size][/b]
# sudo update-rc.d -f 服务名 remove
[b][size=medium]临时服务启动停止等[/size][/b]
# /etc/init.d/服务名 start|restart|stop
对于其他Linux系统,有类似的命令使用,请参阅相关Linux系统文档。