nohup node server.js > /dev/null 2>&1 &
nohup
bedeutet:Beenden Sie diesen Vorgang nicht, auch wenn die stty abgeschaltet ist.> /dev/null
bedeutet:stdout geht nach /dev/null (was ein Dummy-Gerät ist, das keine Ausgabe aufzeichnet).2>&1
bedeutet:stderr geht auch auf die stdout (die bereits auf/dev/null
umgeleitet wird ). Sie können &1 durch einen Dateipfad ersetzen, um ein Fehlerprotokoll zu führen, z. B.:2>/tmp/myLog
&
am Ende bedeutet:Diesen Befehl als Hintergrundaufgabe ausführen.
Einfache Lösung (wenn Sie nicht daran interessiert sind, zum Prozess zurückzukehren, möchten Sie einfach, dass er weiterläuft):
nohup node server.js &
Es gibt auch die jobs
Befehl, um eine indizierte Liste dieser Prozesse im Hintergrund anzuzeigen. Und Sie können einen Hintergrundprozess beenden, indem Sie kill %1
ausführen oder kill %2
wobei die Nummer der Index des Prozesses ist.
Leistungsstarke Lösung (ermöglicht es Ihnen, sich wieder mit dem Prozess zu verbinden, wenn er interaktiv ist):
screen
Sie können dann durch Drücken von Strg+a+d trennen und dann wieder anhängen, indem Sie screen -r
ausführen
Betrachten Sie auch die neuere Alternative zu screen, tmux.
Sie sollten wirklich versuchen, screen
zu verwenden . Es ist etwas komplizierter, als nur nohup long_running &
zu machen , aber wenn Sie den Bildschirm verstehen, kommen Sie nie wieder zurück.
Starten Sie zunächst Ihre Bildschirmsitzung:
[email protected]:~$ screen
Führen Sie alles aus, was Sie wollen:
wget http://mirror.yandex.ru/centos/4.6/isos/i386/CentOS-4.6-i386-binDVD.iso
Drücken Sie Strg+A und dann d. Fertig. Ihre Sitzung läuft im Hintergrund weiter.
Sie können alle Sitzungen nach screen -ls
auflisten , und hängen Sie einige mit screen -r 20673.pts-0.srv
an Befehl, wobei 0673.pts-0.srv eine Eintragsliste ist.