1 votes

Pourquoi le processus/tâche déclenché sur la VM s'arrête-t-il lorsque la connexion SSH utilisée pour créer le processus est rompue ?

J'ai une machine virtuelle qui tourne sur un hôte distant. Je m'y connecte depuis mon PC de bureau via SSH et Putty. Je déclenche un processus de construction sur cette VM.

Maintenant, si je ferme la session SSH de Putty, pourquoi le processus de construction s'arrête-t-il et l'image n'est-elle pas créée ?

Cependant, si je fais tourner une instance de serveur VNC sur la VM et que je m'y connecte à l'aide de VNC viewer depuis mon PC de bureau. Je peux alors accéder à l'environnement GUI de la VM. Maintenant, je lance un terminal. Et je lance un processus de construction.

Maintenant, même si je ferme le client VNC ou si j'éteins mon PC de bureau, le processus de construction continue de se produire.

En quoi sont-ils différents dans chacun des scénarios ?

2voto

davidbaumann Points 2161

Pourquoi le processus est-il tué ? Lorsque vous vous connectez, votre bash par défaut est lancé. Maintenant, lorsque vous démarrez un processus, ils sont des sous-processus de bash. Si la connexion est fermée, bash et tous ses sous-processus sont terminés.


Solution : utilisez screen . Exécuter screen et commencez votre processus de construction. Si vous vous déconnectez, tout ce qui est exécuté après l'écran continuera. Si vous vous reconnectez par ssh maintenant, et exécutez screen -RD vous pourrez revenir à votre session et voir le processus.


VNC ne fait que relayer l'écran et le contrôle de la souris/du clavier à votre système. Tous les processus s'exécutent comme si vous étiez assis devant ce système.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X