(SSH) Est-il dangereux de fermer le terminal sans «sortir»?

24

Cela s'est produit plusieurs fois.

Pendant que le SSH est actif, je suis tellement fatigué et je ferme le terminal sans exit

Est-ce dangereux de faire comme ça?

apasajja
la source
Appuyez simplement Ctrl+Ddeux fois au lieu de Alt-F4ou Ctrl-Q, cela envoie le signal de sortie à votre ssh actuel, puis à votre shell, et l'émulateur de terminal devrait se fermer automatiquement sans shell. Problème résolu.
Profpatsch
@Profpatsch: à moins, bien sûr, vous utilisez IGNOREEOF(en bash) parce que vous utilisez également un multiplexeur terminal et suis fatigué de mistyping parfois ^a dque ^d, quittant ainsi sans le vouloir.
0xC0000022L

Réponses:

28

Pas du tout. À la fin du processus de terminal, les processus client à l'intérieur mourront également, et lorsque cela se produira, la connexion au serveur distant sera fermée par le système d'exploitation. Le serveur verra la connexion se fermer et terminera les processus sur le serveur.

Cependant, il est possible que vous vous retrouviez avec des processus persistants sur le serveur s'ils étaient en arrière-plan et ignorent certains signaux.

Flup
la source
10

Lorsque nous fermons directement le terminal, il génère un signal SIGHUP. Ce signal tue toutes les tâches / processus sous le terminal automatiquement / instantanément. Donc pas de problème.

Amit Sachdeva
la source
-1

Ce n'est peut-être pas vrai. Si bash exécute une boucle, il peut ignorer SIGHUP et continuer la session. J'essaie actuellement de comprendre pourquoi cela se produit.

De plus, le processus d'arrêt est très bien noté ici, mais apparemment Systemd a changé certains comportements.

/server/463366/does-getting-disconnected-from-an-ssh-session-kill-your-programs

NeuralSandwich
la source
Il serait préférable que vous validiez votre demande avant de répondre, plutôt que de répondre par "cela peut ne pas être vrai".
Kusalananda
Eh bien, tout dépend. Il semble être différent entre: * les paramètres système Init * les paramètres Shell * les processus en cours d'exécution dans le terminal et leur gestion du signal
NeuralSandwich