[pb SSH] sous Linux

Résolu/Fermé
stef - 25 juil. 2005 à 16:20
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 28 mars 2012 à 18:53
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
A voir également:

5 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
25 juil. 2005 à 20:34
Certes :)
1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
25 juil. 2005 à 20:50
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.
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
25 juil. 2005 à 18:24
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
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
25 juil. 2005 à 20:04
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 ;-))
0
Salut tu pourrais tout simplement utiliser screen non ?
A+
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
28 mars 2012 à 18:53
Salut,

C'est ce qui a été fait ;-))
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
25 juil. 2005 à 20:11
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)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
25 juil. 2005 à 20:28
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" !!! ;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
26 juil. 2005 à 12:08
J'avoue ne pas avoir testé avant de poster. Merci à tous les deux, je note çà dans mes tablettes :)


Dal
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
26 juil. 2005 à 12:32
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
0
Bon pour finir, ce n'est visiblement pas possible.?!
0
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é.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > Lex
12 nov. 2008 à 06:28
Merci ;-))
0