Qu'advient-il des processus en cours d'exécution lorsque je perds une connexion à distance à une boîte * nix?

16

Je perds occasionnellement ma connexion SSH distante à mon VPS. J'utilise screenpour les processus de longue durée, mais je me demande ce qui arrive aux processus que j'avais en cours d'exécution en dehors de ceux exécutés dans une screensession si je perds la connexion à la box.

Lorsque je rétablis une connexion à la box, qu'est-il arrivé aux processus bash et sshd qui étaient en cours d'exécution lorsque j'ai perdu la connexion? Aujourd'hui, j'ai perdu la connexion à plusieurs reprises et j'ai remarqué beaucoup plus de processus bash et sshd que d'habitude.

S'il y a des processus qui traînent, dois-je les tuer? Comment déterminer quels processus ont été abandonnés lors de ma session précédente?

Merci pour toutes les réponses!

David Marble
la source

Réponses:

8

Normalement, les processus se terminent lors de la déconnexion, mais les anciennes sessions SSH peuvent soit être en attente de dépassement de délai, soit se bloquer à la sortie , en raison d'une condition de concurrence critique.

Vous devriez probablement mettre fin aux anciennes sessions, bien que ce ne soit pas nécessairement le cas. Tapez ps auxsur la console pour répertorier les processus, puis kill PIDpour chaque session ssh bloquée, où PID est le PID (ID de processus) pour cette session. Les sessions plus anciennes et bloquées doivent avoir des PID inférieurs à votre nouvelle session actuelle.

S'il existe un processus de longue durée que vous souhaitez spécifiquement continuer à exécuter même après vous être déconnecté, vous pouvez préfixer votre commande avec nohup:

nohup badblocks -nvs /dev/sda &
Rob
la source
0

Lorsque la session ssh se termine, le pseudo-tty associé est fermé et réinitialisé. En règle générale, le shell et les autres processus associés à ce tty sont supprimés, car ce sont des processus enfants du processus qui l'a créé. S'il y a des processus qui traînent, peut-être ont-ils été dépassés? Oui, ils devraient probablement être tués - la propreté est à côté de la piété. Ils prennent certaines ressources - généralement peu, mais cela peut s'accumuler après un certain temps.

Shannon Nelson
la source