首页 > 开发 > linux > 正文

service和chkconfig区别

2016-07-12 08:45:14  来源: 网友分享

service 只有在 RH/FC 系列才有,说穿了也没啥,就是将 /etc/init.d 底下的 script 跑一下而已。

如果你要 service xxx start,但在别的系统找不到,那就 /etc/init.d/xxx start ,效果是一样的。

所以, service 命令只是让 daemon script 马上执行。


而 chkconfig,则是将 /etc/init.d 裡的 script 做 link 到不同的 runlevel 去。

如果你找不到 chkconfig, 那自己手工跑 ln -s 也行。(SuSE 也可用 chkconfig 或 insserv)

反正呢, link 过去要用 S 或 K,还有用甚麽数字,可以自己决定。

但用 chkconfig 的话, level, S/K, number 这些数据都在 script 裡定义好了,也就是 kenduest 前面贴的部份内容。

如果你要手工写一个 chkconfig 可用的 script,只要有如下两行就够了:

# chkconfig: 2345 90 60

# description:

其中的 # description: 后面可以空著。

而 2345 90 60 是说:

1) 在 2345 这些 runlevel 作 start(S),其馀用 stop(K)。

2) S 的号码是 90,而 K 的号码是 60

不过, 以上仅适用 RH/FC 系列的 linux,其他版本(如 SuSE)还需要更多的 infomation。

倘若是 SuSE , 可以参考 ls /etc/init.d/skeleton 以了解其格式要求。


有空的话,看一下 /etc/init.d/rc 这个 script,那麽更有帮助理解各 runlevel 如何处理那些 S 跟 K 的 script。

假如再行有馀力, 那就将 /etc/inittab 裡面所提到的 script 都挖来看看,则更是值得鼓励的行为。进行在线转换