GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exécuter Node.js en tant que processus d'arrière-plan et ne jamais mourir ?

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

  1. nohup signifie :Ne terminez pas ce processus même lorsque le stty est coupé.
  2. > /dev/null signifie :stdout va à /dev/null (qui est un périphérique factice qui n'enregistre aucune sortie).
  3. 2>&1 signifie :stderr va également vers la sortie standard (qui est déjà redirigée vers /dev/null ). Vous pouvez remplacer &1 par un chemin de fichier pour conserver un journal des erreurs, par exemple :2>/tmp/myLog
  4. & à la fin signifie :exécutez cette commande en tâche de fond.

Solution simple (si vous n'êtes pas intéressé à revenir au processus, voulez juste qu'il continue à fonctionner) :

nohup node server.js &

Il y a aussi le jobs commande pour voir une liste indexée de ces processus en arrière-plan. Et vous pouvez tuer un processus en arrière-plan en exécutant kill %1 ou kill %2 le numéro étant l'indice du processus.

Solution puissante (permet de se reconnecter au processus s'il est interactif) :

screen

Vous pouvez ensuite détacher en appuyant sur Ctrl+a+d puis rattacher en exécutant screen -r

Considérez également la nouvelle alternative à l'écran, tmux.


Vous devriez vraiment essayer d'utiliser screen . C'est un peu plus compliqué que de simplement faire nohup long_running & , mais comprendre l'écran une fois que vous ne revenez plus jamais.

Démarrez d'abord votre session d'écran :

[email protected]:~$ screen

Exécutez tout ce que vous voulez :

wget http://mirror.yandex.ru/centos/4.6/isos/i386/CentOS-4.6-i386-binDVD.iso

Appuyez sur ctrl+A puis sur d. Fait. Votre session se poursuit en arrière-plan.

Vous pouvez lister toutes les sessions par screen -ls , et attachez-les à certains par screen -r 20673.pts-0.srv commande, où 0673.pts-0.srv est une liste d'entrées.


Linux
  1. Comment démarrer la commande Linux en arrière-plan et détacher le processus dans le terminal

  2. Comment suspendre et mettre un processus d'arrière-plan au premier plan ?

  3. Comment exécuter un programme en arrière-plan et utiliser également &&pour exécuter une autre commande ?

  4. Comment arrêter un processus d'écran sous Linux?

  5. Comment puis-je faire fonctionner mon serveur Web Golang en arrière-plan ?

Comment installer et utiliser Linux Screen ?

Comment exécuter des commandes Linux en arrière-plan

Comment compiler et exécuter des programmes C, C++ sous Linux

Comment suspendre un processus et le reprendre plus tard sous Linux

Comment travailler avec le processus de premier plan et d'arrière-plan sous Linux

Comment écrire et exécuter un programme C sous Linux