501 votes

Comment faire pour exécuter le processus en arrière-plan et ne jamais mourir ?

- Je me connecter au serveur linux via putty SSH. J'ai essayé de l'exécuter en tant que processus d'arrière-plan comme ceci:

$ node  server.js &

Cependant, après 2,5 heures, le terminal devient inactif et que le processus de mourir. Est-il de toute façon que je peux garder le processus vivant, même le terminal déconnecté?

merci.


Aider, s'il vous plaît!

En fait, j'ai essayé d' nohup mais dès que je ferme le Putty SSH terminal ou de débrancher mon internet, le serveur s'arrête immédiatement.

Est-ce que je dois faire dans Putty?


Mise à jour sur 2012 FÉV: Il y a un node.js module, pour toujours. Il sera exécuté nodejs serveur en tant que service démon.

Bon. :)

1150voto

Yoichi Points 2617

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

  1. nohup signifie: Ne pas mettre fin à ce processus, même lorsque le stty est coupé off.
  2. > /dev/null moyen: stdout va vers /dev/null (qui est un mannequin dispositif qui n'a pas enregistré de sortie).
  3. 2>&1 moyen: stderr va aussi à la sortie standard (ce qui est déjà redirigé vers /dev/null).
  4. & à la fin signifie: exécutez cette commande en tâche de fond.

530voto

MK. Points 11889

Solution simple (si vous n’êtes pas intéressé à revenir au processus, veux juste qu’il continue de s’exécuter) :

``

Solution puissante (permet de se reconnecter au processus si c’est interactif) :

``

140voto

Alex Povar Points 1236

Vous devriez vraiment essayer d'utiliser screen. C'est un peu plus compliqué que de juste faire nohup long_running &, mais la compréhension de l'écran une fois que vous n'avez jamais revenir.

Commencez votre écran de session dans un premier temps:

user@host:~$ screen

Exécuter 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 d. Fait. Votre session de garder en tâche de fond.

Vous pouvez dresser la liste de toutes les sessions en screen -ls, et le joindre à certains, en screen -r 20673.pts-0.srv de commande, où 0673.pts-0.srv est une entrée de la liste.

26voto

myururdurmaz Points 44

une autre solution désavoue le travail

16voto

Daniel Gallagher Points 4301

permettra au programme de continuer même après la mort de la borne. J’ai effectivement eu des situations où empêche la session SSH de s’arrêter correctement, alors vous devriez rediriger l’entrée aussi bien :

Selon la façon dont `` est configuré, vous devrez également rediriger la sortie standard et l’écart-type de fichiers.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X