Ich starte meine Anwendung im Hintergrund unter Verwendung nohup
der folgenden Befehle:
root@phx5qa01c:/bezook# nohup java -jar ./exhibitor-1.5.1/lib/exhibitor-1.5.1-jar-with-dependencies.jar -c file --fsconfigdir /opt/exhibitor/conf --hostname phx5qa01c.phx.qa.host.com > exhibitor.out &
[1] 30781
root@phx5qa01c:/bezook# nohup: ignoring input and redirecting stderr to stdout
Aber jedes Mal, wenn ich diese Nachricht sehe -
nohup: ignoring input and redirecting stderr to stdout
Wird es ein Problem geben, wenn ich diese Nachricht sehe? Was bedeutet es und wie kann ich es vermeiden?
io-redirection
stdin
nohup
stderr
Arsenal
quelle
quelle
nohup java -jar blaa bla >/tmp/test.out 2>&1 &
/tmp/test.out
kann ich verwendenexhibitor.out
. Tut mir leid, dass ich dumme Fragen gestellt habe, da mir diese Dinge ziemlich neu sind.2>&1
?Antworten:
Um sicherzustellen, dass Ihre Anwendung von ihrem Terminal getrennt ist, damit sie die Vordergrundbefehle nicht beeinträchtigt und nach dem Abmelden weiter ausgeführt wird, stellen Sie
nohup
sicher, dass weder stdin noch stdout noch stderr ein terminalartiges Gerät sind. In der Dokumentation wird beschrieben, welche Aktionen ausgeführt werden:Sie haben stdout bei der Eingabe
> exhibitor.out
in der Befehlszeile in eine Datei umgeleitet . Wenn Sie damit einverstanden sind, dass das stderr Ihrer Anwendung auf dieselbe Datei wie das stdout geleitet wird, müssen Sie nichts weiter tun. Oder Sie können stderr in eine andere Datei umleiten, indem Sie ein Argument wie hinzufügen2> exhibitor.err
. (Dank eines unbekannten Benutzers - in meinen Benachrichtigungen wurde kein Name angezeigt -, der die Aufnahme dieser Alternative vorgeschlagen hat.)quelle
</dev/null
; Linux erledigt dies automatisch, aber wenn es nicht manuell erledigt wird, wird in der Ausgabe von nohup immer noch eine Zeilenohup: ignoring input
Sie können die Meldung entfernen, wenn Sie den Standardfehler auf die Standardausgabe umleiten:
quelle
In meiner Situation leite ich stdout und stderr um, aber es wird auch Folgendes in der Protokolldatei angezeigt:
Um diese Warnung zu entfernen, müssen Sie stdin wie folgt umleiten:
Ich wusste, diese Antwort ist definitiv zu spät für Sie, aber vielleicht würde es anderen helfen.
quelle