Angenommen, diese Situation
wget http://file
wget beginnt mit dem Herunterladen der Datei.
Ich habe es in den Hintergrund gestellt.
^Z
bg
Der Befehl tritt in den Hintergrund.
Die Ausgabe befindet sich aber auch noch auf der Konsole - wenn die Konsole noch geöffnet ist.
Ist es möglich, die Ausgabe des Befehls zu stoppen?
Wget ist nur ein Beispiel; Denken Sie an einen Befehl, der viel Ausgabe schreibt.
Ich weiß, dass es an der Konsole möglich ist, ein bg
Terminal zu schließen und dann ein anderes zu öffnen. Was ist, wenn nur ein Terminal verfügbar ist und keine Pseudo-Terminals vorhanden sind?
background-process
output
Elbarna
quelle
quelle
Antworten:
Hier ist eine Lösung, die die Ausgabe eines Befehls während der Ausführung umleitet : /superuser/732503/redirect-stdout-stderr-of-a-background-job-from-console-to-a- Logdatei
Für eine Lösung, die in einem alltäglichen Szenario der Verwendung eines Terminals besser verwendet werden kann, können Sie sie im Hintergrund
wget -o log http://file &
ausführenwget
und ihre Ausgabelog
anstelle Ihres Terminals schreiben . Natürlich sehen Sie in diesem Fall überhaupt keine Ausgabe (selbst wenn Siewget
im Vordergrund liefen ), aber Sie könnentail -f log
die Ausgabe betrachten, wenn sie wächst.quelle
Meinen Sie damit, dass Sie wget (oder ein anderes cmd) im Hintergrund laufen lassen möchten, ohne Nachrichten an die Konsole auszugeben? Wenn das die Frage ist, können Sie es versuchen
redirection
Das cmd oben leitet das
stdout
an um/dev/null
und Sie sehen keine Nachrichten außer Fehlermeldungen. Wenn Sie auch keine Fehlermeldungen sehen möchten, versuchen Sie diesSie können Google
redirection
für detailliertere Informationen.quelle