![NoHup und Bildschirm funktionieren nicht, wenn das Programm im Hintergrund ausgeführt wird?](https://rvso.com/image/31668/NoHup%20und%20Bildschirm%20funktionieren%20nicht%2C%20wenn%20das%20Programm%20im%20Hintergrund%20ausgef%C3%BChrt%20wird%3F.png)
Ich weiß nicht warum, aber mein screen
auf dem Server ausgeführter Befehl stoppt von selbst. Deshalb habe ich versucht, zu verwenden nohup
. Beispiel:
nohup bzcat a.bz
Aber beim Laufen nohup
gibt es mir
nohup: ignoring input and appending output to `nohup.out'
Um fortzufahren, führe ich außerdem Folgendes aus:, fg
was mir Folgendes gibt:
-bash: fg: current: no such job
Antwort1
Die Meldung von nohup
ist vollkommen in Ordnung. Sie erklärt nur, was sie tut. Wenn Sie ein Programm mit nohup ausführen, verwendet es nicht mehr, was Sie auf dem Terminal eingeben, und es gibt auch nichts auf dem Terminal aus. nohup
leitet die Ausgabe des Programms in eine Datei namens um nohup.out
.
Und es ist etwas ganz anderes, als nohup
ein Programm im Hintergrund laufen zu lassen (im Hintergrund laufen wäre bzcat a.bz &
). Wenn ein Programm im Hintergrund läuft, ignoriert es die Eingabe vom Terminal (nur das im Vordergrund laufende Programm kann das verwenden, was Sie in das Terminal eingeben, deshalb wird es „Vordergrund“-Prozess genannt, weil es derjenige ist, mit dem Sie tatsächlich interagieren), aber es gibt an das Terminal aus. Es ist möglich, ein Programm sowohl im Nohup-Modus als auch im Hintergrund laufen zu lassen. Tatsächlich wird normalerweise diese Art nohup
verwendet. Wenn Sie nohup
ein Programm haben, es aber nicht im Hintergrund starten, können Sie fg
es nicht aufrufen, weil es eigentlich nicht im Hintergrund läuft. Es gibt einfach nichts an das Terminal aus.
nohup
ermöglicht Ihnen, ein Programm in einem Modus auszuführen, in dem es Signale ignoriert HUP
. Terminals senden normalerweise HUP
Signale, wenn Sie das Terminal schließen. Ein im Hintergrund im Nohup-Modus laufendes Programm wird also nicht gestoppt, wenn Sie das Terminal schließen, in dem Sie es gestartet haben.