日期:2014-05-16  浏览次数:20640 次

通过修改Linux服务自动启动指定应用程序[转载]

Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下:

chkconfig

功能说明:检查,设置系统的各种服务。

语  法:chkconfig?[
--add][--del][--list][系统服务]?或?chkconfig?[--level?<</SPAN>等级代号>][系统服务][on/off/reset]

补充说明:这是Red?Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

参  数:
 
--add? 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。?
 
--del? 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。?
 
--level<</SPAN>等级代号>? 指定读系统服务要在哪一个执行等级中开启或关毕?


首先来执行 chkconfig --list命令来查看所有已添加的系统服务(下面的结果只是一部分)

[root@fd?init.d]#?chkconfig?--list
diskdump????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
xfs?????????????0:off???1:off???2:on????3:on????4:on????5:on????6:off
rhnsd???????????0:off???1:off???2:off???3:on????4:on????5:on????6:off
cups-config-daemon??????0:off???1:off???2:off???3:on????4:on????5:on????6:off
netfs???????????0:off???1:off???2:off???3:on????4:on????5:on????6:off
nfs?????????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
microcode_ctl???0:off???1:off???2:on????3:on????4:on????5:on????6:off
netplugd????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
netdump?????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
cpuspeed????????0:off???1:on????2:on????3:on????4:on????5:on????6:off
syslog??????????0:off???1:off???2:on????3:on????4:on????5:on????6:off
smb?????????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
ntpd????????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
rawdevices??????0:off???1:off???2:off???3:on????4:on????5:on????6:off
psacct??????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
vncserver???????0:off???1:off???2:off???3:off???4:off???5:off???6:off
saslauthd???????0:off???1:off???2:off???3:off???4:off???5:off???6:off
dc_server???????0:off???1:off???2:off???3:off???4:off???5:off???6:off
mdmonitor???????0:off???1:off???2:on????3:on????4:on????5:on????6:off
httpd???????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
ibmasm??????????0:off???1:off???2:off???3:off???4:off???5:off???6:off
dc_client???????0:off???1:off???2:off???3:off???4:off???5:off???6:off


其中第一列表示服务名,后面的0-6表示在这六种启动方式中该服务是启动(on)还是关闭(off)
比如默认情况下,自动检测新硬件的服务是启动的(服务名是kudzu),每次启动需要检测一段时间,我们可以关闭服务,以后有了硬件改动在调用它。
chkconfig kudzu off

chkconfig --list kudzu
kudzu?????????? 0:off?? 1:off?? 2:off?? 3:off?? 4:off?? 5:off?? 6:off
可以看到检测新硬件的服务都被关闭了,再次启动时就不会检测新硬件了。如果有了硬件改动你可以选择将此服务打开(chkconfig kudzu on),其实有更简单的方法,输入
service kudzu start
手动启动检测新硬件服务就可以了。这些服务都存放在/etc/init.d目录下,他们都是可执行的shell文件,比如刚才用的检测新硬件服务
[root@fd /]# ls -l /etc/init.d/kudzu
-rwxr-xr-x? 1 root root 2095 Aug 23? 2005 /etc/init.d/kudzu
其实我们编写的shell文件也可以放在这里,然后添加成系统服务,但是我们必须遵守一个简