什么应该RHEL init.d脚本中的chkconfig行设置为像supervisord这样的进程控制器?

我想第一次写一个init.d脚本来启动supervisord进程。 Supervisor是一个像runitupstartsystemd一样的过程控制器/pipe理器。 如果系统重新启动,我希望它自动启动,以便它可以启动我的应用程序。

我用这个tldp教程作为编写init.d脚本的基础。 它工作正常,但我不明白我应该如何修改文件中的这一行:

 # chkconfig: 2345 95 05 

本教程中的注释说明:

虽然这些是注释,但它们被chkconfig命令使用,并且必须存在。 这个特定的行定义了运行级2,3,4和5,这个子系统将被优先级95(最后一个)激活,并且被优先级05(第一个之一)取消激活。

这个RHEL文档解释了各种运行级别:

 0 - Halt 1 - Single-user text mode 2 - Not used (user-definable_ 3 - Full multi-user text mode 4 - Not used (user-definable) 5 - Full multi-user grapical mode 6 - Reboot 

从这些select,我想我想运行在35 ,我假设1是只为系统pipe理员。

有几个例子supervisord init.d脚本,例如这里 。 我注意到,所有的RHEL init.d脚本都包含以下行:

 # chkconfig: 345 83 04 

在这种情况下,作者有什么理由希望它在“未使用”的运行级别4上处于活动状态?

我安装的nginx init.d脚本包含这一行:

 # chkconfig: - 86 16 

这意味着什么?在这里运行级别?

为什么这行不包含停用优先级?

如何决定像supervisor这样的过程控制者的优先级? 上面的脚本select了83和04,而tldp教程select了95和05。

 chkconfig: 345 83 04 

在这种情况下,作者有什么理由希望它在“未使用”的运行级别4上处于活动状态?

由于运行级别4没有使用,因此无论您将其设置为打开还是关闭都无关紧要。 345比较容易写,懒惰的做法。

你可以随时改变它

 chkconfig --list supervisord chkconfig --level 4 supervisord off chkconfig --level 3 supervisord on 

我安装的nginx init.d脚本包含这一行:

 chkconfig: - 86 16 

这意味着什么?在这里运行级别?

这意味着你必须用水平线代替破折号,或者保持原样由chkconfig设置

 chkconfig: 345 86 16 

为什么这行不包含停用优先级?

 345 run levels 86 activate priority 16 deactivate priority 

如何决定像监督员这样的过程控制者的优先级? 上面的脚本选择了83和04,而tldp教程选择了95和05。

这些都是例子,并不是真正的事情,它们的设置是不一样的。

优先级通常并不重要,因为您不会定期启动或关闭机器,我不熟悉您的应用程序,我会推荐这个。

该网址包含不同的优先级https://rayed.com/wordpress/?p=1496

  chkconfig: 345 64 36 

或保持原样,让chkconfig为你配置它

 chkconfig: - 64 36 

我检查了我的系统centOS的答案,新的建议:

使用yum安装supervisord,保持默认的优先级,因为它被许多人测试

 urname -r 2.6.32-573.12.1.el6.centos.plus.x86_64 

安装supervisord:

 sudo yum install supervisor supervisor.noarch 0:2.1-9.el6 

这个版本的supervisord的默认优先级是:

 cat /etc/init.d/supervisord |grep chkconfig #chkconfig: - 95 04 

改变开/关,而不改变supervisord

 [gliang@www prima]$ chkconfig --list supervisord supervisord 0:off 1:off 2:off 3:off 4:off 5:off 6:off [gliang@www prima]$ sudo chkconfig --level 3 supervisord on [gliang@www prima]$ sudo chkconfig --level 4 supervisord off 

3级的S95优先级最低,开始时间晚,先关机

 [gliang@www prima]$ ls -ltr /etc/rc3.d/|grep supervisor lrwxrwxrwx. 1 root root 21 Jan 29 08:02 S95supervisord -> ../init.d/supervisord [gliang@www prima]$ ls -ltr /etc/rc4.d/|grep supervisor lrwxrwxrwx. 1 root root 21 Jan 29 08:02 K04supervisord -> ../init.d/supervisord 

使用它来列出并查看这个级别的所有守护进程的优先级

 ls -ltr /etc/rc3.d/