Geben Sie die Kontrolle über das init.d-Skript centos frei

Geben Sie die Kontrolle über das init.d-Skript centos frei

Ich verwende logstash-forwarder und starte es in seinem Init-Skript mit dem Befehl:

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

Dieser Befehl erzeugt eine Ausgabe und gibt die Steuerung nicht frei. Dies ist mein Skript:

Pastebin-Link für das Init-Skript

Es ist gegenüber der Buchversion leicht verändert, da hier die Spulengröße nicht festgelegt wird, aber das hat nichts mit dem Problem zu tun, das ich habe.

Wenn ich also mit dem obigen Skript im Terminal den folgenden Befehl eingebe:

service logstash-forwarder start

Es startet, druckt die Ausgabe auf stdout, wird aber nicht freigegeben, sodass ich Strg+C drücken muss, und das beendet den Prozess.

Ich habe versucht, nach dem Start exit 0 festzulegen und die Ausgabe auch nach /dev/null zu setzen, aber nichts davon hat funktioniert.

Antwort1

Fügen Sie es &am Ende Ihres logstash-forwarderBefehls hinzu. Dadurch wird der Job im Hintergrund ausgeführt und das Skript kann beendet werden.

verwandte Informationen