免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1384 | 回复: 0

Linux的启动和停止脚本 [复制链接]

论坛徽章:
0
发表于 2007-12-06 15:11 |显示全部楼层
Linux的启动顺序如下:
加载 BIOS 的硬件信息;
读取 MBR 的 Kernel Loader ( lilo, grub等)开机信息;
加载 Kernel 的操作系统核心信息;
Kernel 执行 init 程序并取得 run-level 信息;
init 执行 /etc/rc.d/rc.sysinit 文件; 如果有/etc/rc.serial那么运行它
启动核心的外挂式模块 (/etc/modprobe.conf);
init 执行 run-level 的各个启动脚本( Scripts );
init 执行 /etc/rc.d/rc.local 文件;
执行 /bin/login 程序;
登入之后开始以 Shell 控管主机。
系统的运行级在/etc/inittab中设置(把id:3:initdefault:中的3改为相应的级别),/etc下面有一个rc.d的目录,rc.d目录中还有很多文件和子目录,如下:
文件:rc.sysinit  rc   rc.local
目录:init.d  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  
另外rc*.d目录中的文件都是link,link到init.d目录中的执行脚本。在rc*.d目录中的文件命名是有规则规定的,SXXfilename表示当前运行级别要启动脚本,XX为两位数字,数字越大优先级就越低,要排在第XX次运行。KXXfilename表示是要执行关闭上一个运行级别程序的脚本,该目录下系统是先运行所有K打头的脚本,再运行S打头的脚本(具体可看rc这个脚本)。
另外,Init的运行级别0表示停机,1表示单用户模式,2表示多用户模式,但无NFS支持,3表示全功能多用户模式,4没有用到,5表示xwindow,6表示重新启动计算机
如何手动增加一个启动和停止脚本呢?首先在/etc/rc.d/init.d里创建一个脚本,起名为test,然后在脚本的start处加入一行语句touch /var/lock/subsys/test,stop处加入一行语句rm /var/lock/subsys/test,再在相应的运行级别rc3.d目录下创建一链接,ln -s /etc/rc.d/init.d/test S77test,在相应的运行级别rc0.d和rc6.d目录下创建一链接,ln -s /etc/rc.d/init.d/test K77test,注意S和K打头文件中数字后的字符串要和init.d目录下test文件中touch生成的文件一致。
ps:solaris中是依次从1运行到当前运行级别目录下所有的脚本。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/32458/showart_437296.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP