chkconfig on 和 chkconfig --add 有什么区别?

chkconfig on 和 chkconfig --add 有什么区别?

使用 chkconfig on 和使用 chkconfig --add 有什么区别?

答案1

chkconfig --add添加新的服务添加到所管理的服务列表中chkconfig。我相信--add这是隐含的on

chkconfig on设置服务的运行级别。

也就是说,我倾向于使用它chkconfig -add来向系统添加新服务,但ntsysv管理它们(在类似 RHEL 的系统上)。

答案2

在 Redhat/CentOS 中,init 脚本中有一行内容如下

# chkconfig: - 65 10

如果当上述行的第一个参数为“-”时使用 --add,则不会添加启动链接,只会添加终止链接。因此,要使 --add 起作用,您必须编辑 init 脚本并更改为例如

# chkconfig:345 65 10

但是如果 chkconfig --add ... 以“-”作为第一个参数执行(这在 rpm 后脚本中很常见):只要存在终止链接,之后更改第一个参数并重新执行 chkconfig --add 就不会产生任何效果。在这种情况下,--list 会显示所有运行级别:

chkconfig --list saslauthd
saslauthd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

为了使 --add 在这种情况下起作用,首先必须使用 --del,然后 --list 的输出是:

chkconfig --list saslauthd
服务 saslauthd 支持 chkconfig,但未在任何运行级别中引用(运行“chkconfig --add saslauthd”)

现在您可以使用 --add 并且它会获得预期的效果。

或者,您可以将“on”与 --level 参数一起使用,以避免需要编辑 init 脚本,并避免先使用 --del 再使用 --add。

答案3

你运行的是哪种操作系统?如果你只使用服务名称作为参数来运行 chkconfig,我相信 RHEL 的 chkconfig 只会检查该服务是否设置为在你当前运行的运行级别上运行(苏斯博士说)。

相关内容