使用 `chkconfig` 重新启动服务?

使用 `chkconfig` 重新启动服务?

运行后:

sudo chkconfig --add X
sudo chkconfig X on

我跑了chkconfig --list X

$ chkconfig --list X
X           0:off   1:off   2:on    3:on    4:on    5:on    6:off

我的理解是,kill -9执行此操作后,服务将重新启动。

但是,运行服务进程的 PID 在kill -9 $PID哪里之后,它并没有重新启动。$PID

换句话说,运行ps -ef | grep X仅返回grep结果。

我该如何使用chkconfig来确保我的服务崩溃后它会重新启动?

答案1

这不是 chkconfig 的工作。尝试一下监控或类似的东西。

答案2

ckconfig实际上不会停止或启动任何操作。正如手册所解释的那样:

查配置提供了一个简单的命令行工具来维护/etc/rc[0-6].d目录层次结构,从而减轻了系统管理员直接操作这些目录中的大量符号链接的任务。...

就是这样。

在 RHEL 6 上 init而 Upstart 实际上根据 /etc/rc[0-6].d目录层次结构的设置方式在启动、关闭或更改运行级别时启动和停止某些作业。

respawn您可以使用 Upstart 来控制服务的启动,并在服务失败时重新启动,方法是使用init请参阅 如何在 Linux 上配置 .conf 文件。

答案3

/etc/inittab如果服务使用 SystemV 风格的 init 脚本,则可用于强制重启服务,如果我们谈论的是 RHEL >=6.2,Upstart 也可用,您只需respawn在服务的定义文件中添加一行即可/etc/init。请参阅 DigitalOcean 的教程了解详情。

或者考虑升级/重新安装到 RHEL7。

Systemd 支持在崩溃时自动重启服务。

跑步systemctl edit foo.service

[Service]
Restart=on-failure

相关内容