Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[HS] comment mettre en arrière plan une commande lancée en interactif dans une conso le SSH

15 réponses
Avatar
giggzounet
Bonjour,

désolé pour ce HS. Tout est dans le titre :
j'ai lancé un calcul sur un ordinateur distant via SSH. J'ai fait la
bêtise de ne pas utiliser screen pensant que tout allait bien se
passer...le calcul tourne depuis pas mal de jours déjà j'aimerai donc
qu'il se finisse. Malheureusement une firme vient pour tester et peut
être changer les câbles ethernet...docn plus de net, donc plus de ssh
donc plus de calcul :'( Y a t il un moyen de "pousser" le calcul en
arrière plan et ainsi de le conserver même si la session ssh meurt ?

Merci d'avance,
Guillaume

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org

10 réponses

1 2
Avatar
Bulot gregory
> Bonjour,

désolé pour ce HS. Tout est dans le titre :
j'ai lancé un calcul sur un ordinateur distant via SSH. J'ai fait la
bêtise de ne pas utiliser screen pensant que tout allait bien se
passer...



[désolé pour le mail privé coupé ...]

donc, j'ai pas tester, essayer sur un élément moins critique :
ctrl+z puis 'bg' (ºckground), après une déco, vérifier que le process
tourne toujours (ps -aef ?)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
Yannick Fouquet
Bonjour,

Bulot gregory a écrit :
j'ai lancé un calcul sur un ordinateur distant via SSH. J'ai fait la
bêtise de ne pas utiliser screen pensant que tout allait bien se
passer...



donc, j'ai pas tester, essayer sur un élément moins critique :
ctrl+z puis 'bg' (ºckground), après une déco, vérifier que le process
tourne toujours (ps -aef ?)



J'ai pensé à la même chose mais j'ai testé (avec la commande top par
exemple) et ça ne marche pas. La déco tue le process.
C'est pour ça que pour ma part, j'étais passé à screen pour les calculs
longs par ssh.
Je ne sais pas s'il existe une commande screen (du genre screen -r pid)
permettant de récupérer un traitement en cours...

@+
Yannick.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
François Cerbelle
Bulot gregory a écrit :
Bonjour,

désolé pour ce HS. Tout est dans le titre :
j'ai lancé un calcul sur un ordinateur distant via SSH. J'ai fait la
bêtise de ne pas utiliser screen pensant que tout allait bien se
passer...



[désolé pour le mail privé coupé ...]

donc, j'ai pas tester, essayer sur un élément moins critique :
ctrl+z puis 'bg' (ºckground), après une déco, vérifier que le process
tourne toujours (ps -aef ?)




Ca ne peut pas marcher car la fermeture de session va tuer le shell qui va envoyer le signal HUP à
tous ses fils. C'est pourquoi il existe la commande "nohup" pour executer un process en indiquant
qu'il ne doit pas recevoir ce signal :

nohup commande &

Par contre, une fois le processus lancé, je ne sais pas s'il est possible de bloquer le signal. Il
faut certainement consulter l'aide de ton shell en recherchant les commandes de gestion des Táches
(commandes jobs, fg, bg ... sous bash). Tu y trouveras peut etre ton bonheur.

Fanfan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
François Cerbelle
François Cerbelle a écrit :
Bulot gregory a écrit :
Bonjour,

désolé pour ce HS. Tout est dans le titre :
j'ai lancé un calcul sur un ordinateur distant via SSH. J'ai fait la
bêtise de ne pas utiliser screen pensant que tout allait bien se
passer...



[désolé pour le mail privé coupé ...]

donc, j'ai pas tester, essayer sur un élément moins critique :
ctrl+z puis 'bg' (ºckground), après une déco, vérifier que le process
tourne toujours (ps -aef ?)




Ca ne peut pas marcher car la fermeture de session va tuer le shell qui
va envoyer le signal HUP à tous ses fils. C'est pourquoi il existe la
commande "nohup" pour executer un process en indiquant qu'il ne doit pas
recevoir ce signal :

nohup commande &

Par contre, une fois le processus lancé, je ne sais pas s'il est
possible de bloquer le signal. Il faut certainement consulter l'aide de
ton shell en recherchant les commandes de gestion des Táches (commandes
jobs, fg, bg ... sous bash). Tu y trouveras peut etre ton bonheur.

Fanfan




En faisant la recherche "bash bg nohup hup" dans Google, le premier résultat est de WikiPedia et
l'extrait donné par Google est prometteur. La page WikiPedia donne les informations suivantes à tenter :

Existing jobs

Some shells (e.g. bash) provide a shell builtin that may be used to prevent SIGHUP being sent or
propagated to existing jobs, even if they were not started with nohup. In bash, this can be obtained
by using disown -h job; using the same builtin without arguments removes the job from the job table,
which also implies that the job will not receive the signal. Another relevant bash option is shopt
huponexit, which automatically sends the HUP signal to jobs when the shell is exiting normally.

Fanfan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
giggzounet
François Cerbelle a écrit :
François Cerbelle a écrit :
Bulot gregory a écrit :
Bonjour,

désolé pour ce HS. Tout est dans le titre :
j'ai lancé un calcul sur un ordinateur distant via SSH. J'ai fait la
bêtise de ne pas utiliser screen pensant que tout allait bien se
passer...



[désolé pour le mail privé coupé ...]

donc, j'ai pas tester, essayer sur un élément moins critique :
ctrl+z puis 'bg' (ºckground), après une déco, vérifier que le
process
tourne toujours (ps -aef ?)




Ca ne peut pas marcher car la fermeture de session va tuer le shell
qui va envoyer le signal HUP à tous ses fils. C'est pourquoi il existe
la commande "nohup" pour executer un process en indiquant qu'il ne
doit pas recevoir ce signal :

nohup commande &

Par contre, une fois le processus lancé, je ne sais pas s'il est
possible de bloquer le signal. Il faut certainement consulter l'aide
de ton shell en recherchant les commandes de gestion des Táches
(commandes jobs, fg, bg ... sous bash). Tu y trouveras peut etre ton
bonheur.

Fanfan




En faisant la recherche "bash bg nohup hup" dans Google, le premier
résultat est de WikiPedia et l'extrait donné par Google est prometteur.
La page WikiPedia donne les informations suivantes à tenter :

Existing jobs

Some shells (e.g. bash) provide a shell builtin that may be used to
prevent SIGHUP being sent or propagated to existing jobs, even if they
were not started with nohup. In bash, this can be obtained by using
disown -h job; using the same builtin without arguments removes the job
from the job table, which also implies that the job will not receive the
signal. Another relevant bash option is shopt huponexit, which
automatically sends the HUP signal to jobs when the shell is exiting
normally.

Fanfan




Bonjour à tous,

merci de vos réponses. En effet j'utilise bash. donc bon je vais test ça
dès que je peux!

Bye bye
Guillaume

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
Bulot Grégory
> J'ai pensé à la même chose mais j'ai testé (avec la commande top par
exemple) et ça ne marche pas. La déco tue le process.



retty (je connais pas) pour déplacer un pid d'un tty vers un autre

http://serverfault.com/questions/55880/moving-an-already-running-process-to-screen

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
Marc
Bonjour,

la commande screen est parfaite pour ce que tu veux faire :

http://kovyrin.net/2006/03/22/using-screen-window-manager-to-run-background-jobs/

Marc




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
giggzounet
Marc a écrit :
Bonjour,

la commande screen est parfaite pour ce que tu veux faire :

http://kovyrin.net/2006/03/22/using-screen-window-manager-to-run-background-jobs/

Marc





Hello,

screen est parfaite pour lancer des jobs en arrière plan, je suis
entièrement d'accord. mais la question initiale est : qd tu as un
programme qui ne tourne pas en arrière plan dans une connection ssh,
comment faire pour le pousser en arrière plan et ensuite pouvoir fermer
la connection ssh sans tuer le process ? Si j'avais été intelligent
j'aurais direct penser à utiliser screen...mais une fois le prog lancé,
ça se complique.

Bye bye

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
Glennie Vignarajah
Le 24/11/2009 vers 10:11, dans le message intitulé "Re: [HS] comment mett re en
arrière plan une commande lancée en interactif dans un e console SSH",
giggzounet(giggzounet ) a écrit:

Bonjour,

mais une fois le prog lancé,
ça se complique.



Si votre shell est bash et selon les versions, vous avez "disown" (à test er)
A+




--
http://www.glennie.fr
If the only tool you have is hammer, you tend to see every problem as a nai l.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Avatar
Gilles Mocellin
--Q68bSM7Ycu6FN28Q
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 23, 2009 at 09:12:22AM +0100, giggzounet wrote:
Bonjour,

désolé pour ce HS. Tout est dans le titre :
j'ai lancé un calcul sur un ordinateur distant via SSH. J'ai fait la
bêtise de ne pas utiliser screen pensant que tout allait bien se
passer...le calcul tourne depuis pas mal de jours déjà j'aimerai donc
qu'il se finisse. Malheureusement une firme vient pour tester et peut
être changer les câbles ethernet...docn plus de net, donc plus de ssh
donc plus de calcul :'( Y a t il un moyen de "pousser" le calcul en
arrière plan et ainsi de le conserver même si la session ssh meurt ?



Je viens de tester, et ça semble marcher :
regarde dans le man de ssh, la section ESCAPE CHARACTERS.

On peut faire ~^Z pour mettre en background et fermer le ssh.

J'ai lancé un sleep 120, j'ai taper ~^Z, ça m'a déconnecté du serve ur.
Je me suis reconnecté, et j'ai surveillé le process sleep 120 qui éta it
toujours là.
Le reisque aurait été qu'il soit à l'état stoppé, mais, deux minu tes
plus tard, il a disparu. J'en déduis qu'il tournait.

--Q68bSM7Ycu6FN28Q
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAksMMjMACgkQDltnDmLJYdB+nACgofGmM1P8WMaPm0GRp0wym+ww
cmAAoMsUe4kBXVuaKxRCIzDJs8soDW8a
=+lXH
-----END PGP SIGNATURE-----

--Q68bSM7Ycu6FN28Q--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists Vous pouvez aussi ajouter le mot
``spam'' dans vos champs "From" et "Reply-To:"

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
1 2