注: Red Hat 6.7 を実行しています
マシンの起動時にサービスとしてプロセスを開始するように Linux init システムで構成されたサービスがあります。これは、コマンド ラインから次の 1 回限りの構成を行うことによって行われました。
ln -snf /home/me/bin/my_service /etc/init.d/my_service
chkconfig --add my_service
chkconfig --level 235 my_service on
OS が再起動すると、期待どおりにサービスが開始されます。
サービス (my_service) がクラッシュした場合は、サービスを再起動する必要もあります。私が読んだことから、私がする必要があるのは、次のようなエントリを /etc/inittab に追加することだけです:
mysvc:235:respawn:/home/me/bin/my_service_starter
my_service_starter は次のようになります。
#!/bin/bash
/home/me/bin/my_service start
私の理解では、init システムが my_service が実行されていないことを検出すると、「my_service_starter」を実行して再起動しようとします。
ただし、これは機能していないようです。
サービスがクラッシュしたときにサービスを再起動するように Linux init システムに指示する方法を理解する必要があります。