[pb SSH] sous Linux

[Résolu/Fermé]
Signaler
-
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
-
Bonjour je viens de faire un apt-get upgrade sous Linux debian depuis Putty sous Windows.

L'opération va duré plus d'une heure encore, mais je dois eteidnre mon pc. Si je coupe putty, l'upgrade va s'arreter aussi.

Comment quitter Putty (et le reprendre sur une autre machine) sans quitter l'opération qui est en cours sur le serveur?


Merci

5 réponses

Messages postés
30102
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 septembre 2021
7 173
Certes :)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Bon je confirme avec le "screen" ça marche nickel ;-))

- Connexion via ssh sur machine B
- Lancement de screen => screen
- Lancement de la commande ("top" pour avoir une tâche active)
- Arrêt (suspension) de la tâche => CTRL +Z
- Mise en arrière plan => bg %1
- Protection par "nohup" de la tâche => nohup top&
- Détachement du "screen" => CTRL +A + d
- Déconnexion => exit
- Lancement sur la machine B d'un shell
- Récupération du screen => screen -r
- Vérification des jobs => jobs
- Mise au premier plan de la tâche => fg %1

Je beam(e) comme dirait "johndoe" ;-)))
Merci mamiemando.
Messages postés
5585
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 septembre 2021
945
Salut stef,

C'est peut-être tard, vu l'heure de ton message.. mais bon, tu peux faire comme çà :

- suspendre le "job" : ctrl-z
- fermer putty
- ouvrir putty ailleurs
- continuer le "job" sur ta fenêtre de terminal : fg

Tu peux aussi le continuer en tâche de fond (bg) si tu ne tiens pas à voir la sortie sur l'écran. Ou, à l'avenir, commencer directement ta commande en arrière plan (commande &).

Voir : http://linuxreviews.org/beginner/jobs/


Dal
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Salut [Dall],

Le problème c'est que le "job" est accoché à un shell, et quand tu fermes le shell, ben forcément tu tues le "job" !!!

J'ai même essayé avec un "nohup cmd&" et même avec ça, pas moyen de garder le "job" vivant. Pour la petit histoire je l'ai passé en arrière plan (bg %n) avant de lui balancer le signal.

Donc si quelqu'un a la soluce pour détacher un "job" de son shell et le rebalancer sur un autre.... merci d'avance ;-))
Salut tu pourrais tout simplement utiliser screen non ?
A+
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 372
Salut,

C'est ce qui a été fait ;-))
Messages postés
30102
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 septembre 2021
7 173
nohup pour moi ca sert pour garder un programme en vie si le shell auquel il est rattaché meurt, donc je suis surpris que là ca ne marche pas.

En tout cas, tu peux utiliser un screen, ça c'est sur que ça marche :p Et après tu récupères le screen à la maison :p Voici les bases :

screen (créé un screen)
Ctrl+A d (detached=console principale=reviens au premier plan)
screen -r (recupere un screen ouvert sur bash detached)
Ctrl+A " (liste des screens ouverts)
Ctrl+A ? (help)
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881
Salut mamie,

Merci pour la réponse.
Ben moi aussi je suis surpris (à moitié), car c'est un shell de conexion à travers "ssh" et forcément quand on sort on coupe tous les ponts, donc... !!!

C'est pour ça que je demandais si il y avait moyen de racorder le processus du shell à un autre terminal pour garder le lien ;-\

Sinon, screen ok, mais faut-il encore avoir lancé le process via "screen" !!! ;-))
Messages postés
5585
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 septembre 2021
945
J'avoue ne pas avoir testé avant de poster. Merci à tous les deux, je note çà dans mes tablettes :)


Dal
Messages postés
5585
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 septembre 2021
945
Sous FreeBSD la fermeture du shell ferme aussi les jobs en cours, après un message d'avertissement.

La commande screen n'est cependant pas installée en standard sous FreeBSD. Elle doit être installée par les ports... Ce que je vais faire de ce pas :)


Dal
Bon pour finir, ce n'est visiblement pas possible.?!
J'ai trouvé et ca a marché pour moi pendant un bon vieux bzip2 de 5giga.
Et pas besoin d'executer la commande avec une precommande spéciale.

Il suffit d'utiliser disown:

Si la commande n'a pas été exécuté sans le &, il suffit de faire Ctrl-Z puis bg pour passer la commande en job.

Voici la description et l'exemple:

disown

Some shells, like bash and zsh, contain a disown built-in which performs a similar function to detach. disown, without any arguments, removes the current job from the job table, meaning that, for all intents and purposes, the shell forgets the job exists. In particular, as with detach, the jobs will not exit when the shell does. You can also specify one or more jobs after the disown command, which will remove the specified jobs, rather than the current one.

Examples:

$ gv report.pdf &
[1] 9916
$ jobs
[1] + running gv report.pdf
$ disown %1
$ jobs
$ exit
# Shell exits, leaving gv running


Si vous faite un ps -ef vous verez que votre commande est toujours exécuté.
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 881 > Lex
Merci ;-))