首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应该将RHEL init.d脚本中的chkconfig行设置为像supervisord这样的进程控制器吗?

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

Stack Overflow用户
提问于 2016-01-20 00:15:33
回答 2查看 3.5K关注 0票数 5

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

我使用这个tldp教程作为基础来编写一个init.d脚本。它工作得很好,但我不知道如何修改文件中的这一行:

代码语言:javascript
复制
# chkconfig: 2345 95 05

本教程中关于这一行的说明指出:

尽管这些是注释,但它们由chkconfig命令使用,必须存在。这个特殊的行定义了在运行级别2、3、4和5上,这个子系统将以优先级95 (其中一个持续)激活,而以优先级05 (第一次之一)被停用。

这个莱尔·多克解释不同的运行级别如下:

代码语言:javascript
复制
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只适用于系统管理员。

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

代码语言:javascript
复制
# chkconfig:    345 83 04

在这种情况下,作者有什么理由想让它在“不使用”的运行级别4上活动呢?

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

代码语言:javascript
复制
# chkconfig:   - 86 16

-对这里的运行级意味着什么?

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

如何确定像supervisor这样的过程控制器的优先级?上面的脚本选择83和04,而tldp教程选择95和05。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-29 03:07:30

代码语言:javascript
复制
chkconfig:    345 83 04

在这种情况下,作者有什么理由想让它在“不使用”的运行级别4上活动呢?

因为没有使用运行级4,所以您可以将其设置为打开或关闭。345更容易写,懒惰的方法。

你可以以后再修改它

代码语言:javascript
复制
chkconfig --list supervisord
chkconfig --level 4 supervisord off
chkconfig --level 3 supervisord on

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

代码语言:javascript
复制
chkconfig:   - 86 16

这里的运行水平意味着什么?

这意味着您必须用级别替换破折号,或者保持由chkconfig设置的状态。

代码语言:javascript
复制
chkconfig:   345 86 16

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

代码语言:javascript
复制
345 run levels
86  activate priority
16  deactivate priority

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

这些都是例子,不是真正的例子,而是不同的设置。

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

此url包含不同的优先级https://rayed.com/wordpress/?p=1496

代码语言:javascript
复制
    chkconfig: 345 64 36

或者保持原样,让chkconfig为您配置它。

代码语言:javascript
复制
chkconfig: - 64 36

我在系统centOS上查看了我的答案,新建议:

使用yum安装supervisord,保持默认优先级,因为许多其他人正在测试该优先级。

代码语言:javascript
复制
urname -r
2.6.32-573.12.1.el6.centos.plus.x86_64

安装监督d:

代码语言:javascript
复制
sudo yum install supervisor
supervisor.noarch 0:2.1-9.el6

该版本的supervisord的默认优先级是:

代码语言:javascript
复制
cat /etc/init.d/supervisord |grep chkconfig
#chkconfig: - 95 04

在不改变监控程序的情况下改变开关

代码语言:javascript
复制
[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具有几乎最低的优先级,启动延迟,先关机

代码语言:javascript
复制
[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

使用此选项可列出并查看此级别上所有守护进程的优先级。

代码语言:javascript
复制
ls -ltr /etc/rc3.d/
票数 3
EN

Stack Overflow用户

发布于 2020-04-06 10:09:21

这来自文档,在我的例子中是CentOS 6.10。

chkconfig:

必填项。默认情况下应在其中启动服务的级别列表。是优先权号码。例如:

chkconfig: 2345 20 80

有关更多信息,请阅读“man”。

除非有非常好的、明确的相反理由,否则应等于100 -

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34889325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档