GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann man Node.js als Hintergrundprozess ausführen und nie sterben?

nohup node server.js > /dev/null 2>&1 &

  1. nohup bedeutet:Beenden Sie diesen Vorgang nicht, auch wenn die stty abgeschaltet ist.
  2. > /dev/null bedeutet:stdout geht nach /dev/null (was ein Dummy-Gerät ist, das keine Ausgabe aufzeichnet).
  3. 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
  4. & 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.


Linux
  1. So starten Sie den Linux-Befehl im Hintergrund und trennen den Prozess im Terminal

  2. Ssh – Wie enteigne ich einen laufenden Prozess und verknüpfe ihn mit einer neuen Bildschirm-Shell?

  3. Wie unterbreche ich einen Hintergrundprozess und bringe ihn in den Vordergrund?

  4. Wie kann man ein Programm im Hintergrund ausführen und auch &&verwenden, um einen anderen Befehl auszuführen?

  5. Wie führe ich ein Skript nach dem Fortsetzen und nach dem Entsperren des Bildschirms aus?

Wie installiere und verwende ich den Linux-Bildschirm?

So führen Sie Linux-Befehle im Hintergrund aus

So kompilieren und führen Sie C- und C++-Programme unter Linux aus

So unterbrechen Sie einen Prozess und setzen ihn später in Linux fort

So arbeiten Sie mit Vordergrund- und Hintergrundprozessen unter Linux

Wie man ein C-Programm unter Linux schreibt und ausführt