Chinaunix首页 | 论坛 | 博客
  • 博客访问: 487811
  • 博文数量: 115
  • 博客积分: 5016
  • 博客等级: 大校
  • 技术积分: 1401
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-21 16:03
文章分类

全部博文(115)

文章存档

2013年(1)

2010年(17)

2009年(76)

2008年(21)

我的朋友

分类: LINUX

2009-05-14 22:41:05

首先,linux随机启动的服务程序都在/etc/init.d这个文件夹里,里面的文件全部都是脚本文件(脚本程序简单的说就是把要运行的程序写到一个 文件里让系统能够按顺序执行,类似windows下的autorun.dat文件),另外在/etc这个文件夹里还有诸如名为rc1.d, rc2.d一直到rc6.d的文件夹,这些都是linux不同的runlevel,我们一般进入的X windows多用户的运行级别是第5级,也就是rc5.d,在这个文件夹下的脚本文件就是运行第5级时要随机启动的服务程序。需要注意的是,在每个rc (1-6).d文件夹下的文件其实都是/etc/init.d文件夹下的文件的一个软连接(类似windows中的快捷方式),也就是说,在 /etc/init.d文件夹下是全部的服务程序,而每个rc(1-6).d只链接它自己启动需要的相应的服务程序! 

要启动scim(某一程序),我们首先要知道scim程序在哪里,用locate命令可以找到,scim在/usr/bin/scim这里,其中usr表 示是 属于用户的,bin在linux里表示可以执行的程序。这样,我就可以编写一个脚本程序,把它放到/etc/init.d里,然后在rc5.d里做一个相 应的软链接就可以了。
这个脚本其实很简单,就两行:

#!/bin/bash
/usr/bin/scim

第一行是声明用什么终端运行这个脚本,第二行就是要运行的命令。

还需要注意的一点是,在rc5.d里,每个链接的名字都是以S或者K开头的,S开头表示在启动你的脚本时候将会以start为参数,如果是以K为开头则表示会以stop为参数(既KILL的意思),后面的数字则表示他会在什么时候运行,01会最先运行,紧接着是02,03,04以此类推,也就是说S开头的表示是系统启动是要随机启动的,K开头的是不随机启动的。这样,你就可以知道,如果我要哪个服务随机启动,就把它名字第一个字母K改成S就可以了,当然,把S改成K后,这个服务就不能随机启动了。因此,我这个链接 还要起名为SXXX,这样系统才能让它随机启动。


------------------------------------------------------
 
update -rc.d命令,是用来自动的升级System
V类型初始化脚本,简单的讲就是,哪些东西是你想要系统在引导初始化的时候运行的,哪些是希望在关机或重启时停止的,可以用它来帮你设置。这些脚本的连接
位于/etc/rcn.d/LnName,对应脚本位于/etc/init.d/Script-name.1、设置指定启动顺序、指定运行级别的启动项:update-rc.d <service> start <order> <runlevels>
2、设置在指定运行级中,按指定顺序停止:update-rc.d <service> stop <order><runlevels>
3、从所有的运行级别中删除指定的启动项:update-rc.d -f <script-name> remove例如:update-rc.d script-name start 90 1 2 3 4 5 . stop 52 0 6 .start 90
1 2 3 4 5 . : 表示在1、2、3、4、5这五个运行级别中,按先后顺序,由小到大,第90个开始运行这个脚本。stop 52 0 6 . :表示在0、6这两个运行级别中,按照先后顺序,由小到大,第52个停止这个脚本的运行。 当然最简单的方法是把脚本放到 /etc/rc.local中,这是登陆后最后执行的脚本。 在ubuntu中还有图形化的方法,在系统中配置一下服务就可以了。
阅读(994) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~