8 votes

Nohup et la différence entre la déconnexion et la sortie sur un shell distant

J'ai accès à une coquille Linux à distance à des fins professionnelles. J'ai gardé un script python en cours d'exécution en arrière-plan en utilisant nohup.

Maintenant, si je veux quitter la session, quelle est la différence entre l'utilisation des commandes logout et exit? Est-ce que mon script continuera à s'exécuter dans ces deux cas?

5voto

Jack Points 21

logout est une commande interne de l'interpréteur de commandes. Donc généralement, la réponse dépend de l'interpréteur de commandes. De man bash:

logout – Quitte un shell de connexion.

De man zsh:

logout [ n ] – Pareil que exit, excepté que cela ne fonctionne que dans un shell de connexion.

Donc, ils sont complètement identiques, mais logout refusera simplement de fonctionner pour les shells non connectés. Ce qu'est un shell de connexion peut être lu dans les pages de manuel.

0voto

Rufo El Magufo Points 645

Essayez les deux dans votre terminal local. Si vous voulez utiliser "logout", vous devez être "login". Dans votre terminal par défaut, vous ne commencez jamais le shell avec login, donc si vous voulez fermer le terminal, vous devez utiliser "exit". Ce n'est pas un "login shell".

Dans le shell ssh distant, c'est indifférent car vous utilisez un "login shell". Lorsque vous utilisez nohub ou similaire, vous "détachez" la commande du shell actuel, donc lorsque vous fermez votre shell, le processus ne meurt pas.

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