
私は logstash-forwarder を使用しており、次のコマンドで init スクリプト内で起動しています:
/opt/logstash-forwarder/bin/logstash-forwarder -config=/etc/logstash-forwarder -spool-size 100
このコマンドは出力を生成し、制御を解放しません。これが私のスクリプトです:
書籍版ではスプール サイズが設定されていないため、若干変更されていますが、これは私が抱えている問題とは何の関係もありません。
したがって、上記のスクリプトをターミナルで実行すると、次のコマンドが実行されます。
service logstash-forwarder start
起動し、出力を stdout に印刷しますが、解放されないため、Ctrl + C を押す必要があり、それによってプロセスが強制終了されます。
起動後に exit 0 を設定したり、出力を /dev/null にしたりしてみましたが、どちらも機能しませんでした。
答え1
&
コマンドの最後にを追加しますlogstash-forwarder
。これにより、ジョブがバックグラウンドで実行され、スクリプトが終了します。