chkconfig 相当于 CentOS6 上的 upstart 作业

chkconfig 相当于 CentOS6 上的 upstart 作业

在 RHEL6/CentOS6 上,新贵的方式是什么:

chkconfig add my-svc
chkconfig my-svc on

解释:我已经编写了一个 /etc/init/xvc0.conf 作业。我可以做

启动 xvc0

在 CLI 上,但重启后 initctl list 给了我

...
xvc0 stop/waiting
... 

所以我需要一种方法将我的工作插入到启动新贵序列中。

(顺便说一句,在研究这个问题时,我发现(Ububtu)帖子建议将作业创建为 /etc/event.d/xvc0。这似乎是无效的 - 启动 xvc0 给出未知。发生了什么?那么 /etc/event.d 的用途是什么?)

干杯,阿尔夫

编辑

虽然这不是我的问题的直接答案,但我发现以下内容:

  1. 如果在 xvc0.conf 中我使用指令:

    在运行级别 [2345] 上启动 在运行级别 [016] 上停止

而不是普通手写:

start on runlevel 2
start on runlevel 3
...
stop on runlevel 0
...

启动时启动该作业

  1. 我发现了指向(极其令人困惑的)指令的指针:

    在停止 rc 时启动 RUNLEVEL=[2345] 在启动 rc 时停止 RUNLEVEL=[016]

它们也用于 prefdm.conf 作业,并且似乎也能工作,但方式与前者有微妙的不同(不明白如何不同),并且基本上搞乱了我想要做的事情(即在 /dev/xvc0 上启动 agetty)。

即便如此,上述问题仍然存在——为了实现自动启动而编辑脚本(以及使用一种语法相当不透明的语言)对我来说似乎比较不方便。

答案1

在工作本身中使用:

start on runlevel [2345] 
stop on runlevel [016]

而不是普通手写:

start on runlevel 2
start on runlevel 3
...
stop on runlevel 0
...

具有在启动时启动作业的效果。可能的原因:每个“启动”都会覆盖前一个(而不是添加到它)。

至于从 CLI 更改或记录作业的启动/停止, 阿拉 chkconfig,这似乎是不可能的(如果你问我,这是一个很大的缺陷)。其他细节问题没有得到解决,但请参阅@MichaelHampton 对我的问题的评论,了解为什么这种做法无论如何都是毫无意义的(至少在 RH 世界中)。

答案2

我会设置我希望服务启动的运行级别

chkconfig --level 345 my-svc on

答案3

我认为没有办法从命令行控制 upstart。我initctl在谷歌上搜索时没有看到 CentOS 6.x 以外的任何内容。你唯一的选择似乎是编辑 upstart 配置文件。

相关内容