Red Hat 6.7 中服务崩溃后 inittab 未重新启动服务

Red Hat 6.7 中服务崩溃后 inittab 未重新启动服务

注意:我运行的是 Red Hat 6.7

我有一个使用 Linux init 系统配置的服务,以便在计算机启动时将进程作为服务启动。这是通过从命令行进行一次性配置来完成的:

ln -snf /home/me/bin/my_service /etc/init.d/my_service
chkconfig --add my_service
chkconfig --level 235 my_service on

当操作系统重新启动时,服务将按预期启动。

如果服务(my_service)崩溃,我还需要重新启动该服务。根据我所读到的内容,我需要做的就是向 /etc/inittab 添加一个条目,如下所示:

mysvc:235:respawn:/home/me/bin/my_service_starter

my_service_starter 看起来像:

#!/bin/bash
/home/me/bin/my_service start

my_service 脚本如下所示:

#!/bin/bash
"/usr/java/bin/java" /home/me/bin/my_service.jar start

我的理解是,当init系统检测到my_service没有运行时,它会尝试通过运行“my_service_starter”来重新启动它。

然而这似乎不起作用。即操作系统重新启动时该服务不会启动。

我需要了解当服务崩溃时如何告诉 Linux init 系统重新启动我的服务。

答案1

红帽6的用途暴发户作为初始化系统。

提供的文件的开头inittab是以下几行:

# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

您需要init在中创建正确的定义/etc/init (注意:不是 /etc/init.d)。

例如(但可能需要调试)/etc/init/myservice

start on runlevel [2345]
stop on runlevel [S016]

respawn
exec /home/me/bin/my_service_starter

相关内容