问题

我第一次尝试编写一个 init.d 脚本来启动一个 supervisord 进程.主管是一个过程控制器/管理器,如 runit , upstart systemd .如果系统重新启动,我希望它自动启动,以便它可以启动我的应用程序.

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

# chkconfig: 2345 95 05

该行教程中的注释说明:

Although these are comments, they are used by chkconfig command and must be present. This particular line defines that on runlevels 2,3,4 and 5, this subsystem will be activated with priority 95 (one of the lasts), and deactivated with priority 05 (one of the firsts).

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

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

从这些选择,我想我想运行我的 35 ,假设1只适用于系统管理员.

有几个示例supervisord init.d 脚本,例如 here .我注意到所有RHEL init.d 脚本包含以下行:

# chkconfig:    345 83 04

在这种情况下,作者必须要在运行级别4上运行什么原因,这是"不使用"?

我安装的nginx init.d脚本包含以下行:

# chkconfig:   - 86 16

- 在这里运行级别是什么意思?

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

如何决定过程控制器的优先级,例如 supervisor ?上面的脚本选择了83和04,而tldp教程选择了95和05.



解决方法
chkconfig:    345 83 04

In this case, what reason could the authors have to want it to be active on runlevel 4, which is "not used" ?

由于运行级别4没有被使用,所以打开或关闭它并不重要. 345更容易写,懒惰的方法.

,您可以随时通过

更改它
chkconfig --list supervisord
chkconfig --level 4 supervisord off
chkconfig --level 3 supervisord on

The nginx init.d script that I installed contains this line:

chkconfig:   - 86 16

What does the - mean for the runlevel here?

这意味着你必须用水平替换破折号,或者保持按照chkconfig

设置
chkconfig:   345 86 16

Why does this line not contain a deactivate priority?

345 run levels
86  activate priority
16  deactivate priority

How does one decide upon the priority levels for a process controller like supervisor? The scripts above chose 83 and 04, whereas the tldp tutorial chose 95 and 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

更改开启/关闭而不更改超级用户

[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/



相关问题推荐