Beide haben ihre eigenen Vor- und Nachteile:
nohup:
- nohup eignet sich zum Ausführen von Prozessen im Hintergrund, wenn für die Prozesse keine Benutzereingaben erforderlich sind, z. B. für einen Webserver oder einen anderen Serverprozess.
- nohup erstellt ein Protokoll im Verzeichnis der Prozessausführung. Der Name der Protokolldatei lautet
nohup.out
.
- Es wird vermieden, dass der Vorgang aufgrund einer Ctrl+ falschen
Coder ähnlichen Tastenkombination abgebrochen wird. Nur ein Schutz.
- Es wird normalerweise standardmäßig mit der Grundkonfiguration installiert. Keine Notwendigkeit, separat wie Bildschirm zu installieren.
- Seine Funktionalität ist sehr spezifisch für das Ausführen eines Jobs im Hintergrund und das Speichern der Ausgabe. Wenig speicherintensiv.
Bildschirm:
- Muss separat installiert werden. Sie können nicht zu einem Rechenzentrum gehen oder sich an einer Box anmelden und erwarten, dass ein Bildschirm angezeigt wird.
- Gut, um mehrere Terminals zu unterschiedlichen Themen zu verwalten und ihnen Namen zu geben.
- Es ist eher ein Terminal-Manager und kein Befehl, einen Prozess für unendliche Zeit wie nohup auszuführen.
- Es ist besser geeignet, wenn der Prozess Benutzereingaben erfordert. Wie Installationsskripte, Ja / Nein-Aufforderungen.
- Mit Tonnen von Funktionen kommt sein Gedächtnis. Aber einigermaßen sind einige wirklich großartige Features.
@rahmu, ich werde nie raten, ob pid es töten wollen. Seien Sie sicher, bevor Sie jemanden / etwas töten;).
Der beste Weg , in beiden Fällen für Bildschirm und nohup ist:
ps -eaf | grep "nohup" | grep "your proc name/keyword"
.
Verwenden Sie den Bildschirm und überprüfen Sie, was darauf ausgeführt wird.
Zusammenfassend ist festzuhalten, dass es sich um zwei verschiedene Dinge handelt, die mit unterschiedlichen Agenden erstellt wurden, sodass ein Vergleich schwierig ist.
nohup [...] > fileName.log 2>&1
. Das bedeutet außerdem, dass die Ausgabe nicht verloren geht.screen
lässt dich:quelle
nohup
durch Datenbankfelder Debug überprüft werden .ps ax | grep nohup
zeigt Ihnen die ID des Prozesses und Sie können es töten.nohup
ist schneller. Der einfache Grund ist, dass es von der Internetverbindung zwischen Ihrem PC und dem Server abhängt. Immer wenn das Internet langsam wird, wird der Prozess auch langsam.quelle