init.d スクリプトから制御を解放する centos

init.d スクリプトから制御を解放する centos

私は logstash-forwarder を使用しており、次のコマンドで init スクリプト内で起動しています:

/opt/logstash-forwarder/bin/logstash-forwarder -config=/etc/logstash-forwarder -spool-size 100

このコマンドは出力を生成し、制御を解放しません。これが私のスクリプトです:

init スクリプトの pastebin リンク

書籍版ではスプール サイズが設定されていないため、若干変更されていますが、これは私が抱えている問題とは何の関係もありません。

したがって、上記のスクリプトをターミナルで実行すると、次のコマンドが実行されます。

service logstash-forwarder start

起動し、出力を stdout に印刷しますが、解放されないため、Ctrl + C を押す必要があり、それによってプロセスが強制終了されます。

起動後に exit 0 を設定したり、出力を /dev/null にしたりしてみましたが、どちらも機能しませんでした。

答え1

&コマンドの最後にを追加しますlogstash-forwarder。これにより、ジョブがバックグラウンドで実行され、スクリプトが終了します。

関連情報