terminal et rsync

Le
Thomas
bonjour :-)


j'ai fait un script qui lance rsync, et je le lance avec le terminal
avec "&" pour pouvoir fermer le terminal avant la fin

bizarre des que je ferme le terminal, rsync fait
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at
/SourceCache/rsync/rsync-35.2/rsync/rsync.c(244) [sender=2.6.9]
ou
Killed by signal 1.

qqn sait pourquoi ?

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
OdarR
Le #20255261
On 29 sep, 19:56, Thomas wrote:
bonjour :-)

j'ai fait un script qui lance rsync, et je le lance avec le terminal
avec "&" pour pouvoir fermer le terminal avant la fin

bizarre ... des que je ferme le terminal, rsync fait
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at
/SourceCache/rsync/rsync-35.2/rsync/rsync.c(244) [sender=2.6.9]
ou
Killed by signal 1.

qqn sait pourquoi ?



le process reste attaché à ton terminal, donc si tu le fermes, il ne
sait pas où envoyer stdout (la sortie standard), etc.
Écris nohup en début de ligne et réessaie, ça devrait aller mieux.

Olivier
xavier
Le #20255361
OdarR
Écris nohup en début de ligne et réessaie, ça devrait aller mieux.



nohup(1), c'est vilain. Utiliser screen(1) demande un poil plus
d'investissement, mais est énormément plus puissant.

Mais bon, dans le cas qui nous intéresse ici (une sauvegarde), la bonne
solution est de créer une tâche launchd

--
XAv
Disponible au 01/04/2010
OdarR
Le #20255541
On 29 sep, 20:38, (Xavier) wrote:
OdarR > Écris nohup en début de ligne et réessaie, ça devrait aller mie ux.

nohup(1), c'est vilain. Utiliser screen(1) demande un poil plus
d'investissement, mais est énormément plus puissant.



utiliser nohup en connaissance de cause
http://fr.wikipedia.org/wiki/Nohup
c'est aussi faire preuve de pragmatisme, tout dépend du temps dont
dispose notre ami.

Mais bon, dans le cas qui nous intéresse ici (une sauvegarde), la bonne
solution est de créer une tâche launchd



la vraie (c) solution quoi ;-)

Olivier
Thomas
Le #20308921
In article
OdarR
On 29 sep, 19:56, Thomas wrote:
> bonjour :-)
>
> j'ai fait un script qui lance rsync, et je le lance avec le terminal
> avec "&" pour pouvoir fermer le terminal avant la fin
>
> bizarre ... des que je ferme le terminal, rsync fait
> rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at
> /SourceCache/rsync/rsync-35.2/rsync/rsync.c(244) [sender=2.6.9]
> ou
> Killed by signal 1.
>
> qqn sait pourquoi ?

le process reste attaché à ton terminal, donc si tu le fermes,



c'est relativement nouveau, que le terminal envoie SIGHUP à tous ses
fils, non ?
j'ai un souvenir assez net de pouvoir faire
script &
pour pouvoir fermer le terminal et qu'il reste en tache de fond, et que
ça marchait très bien ...
(ou alors c'est vrai quand on le fait à travers ssh ?)

surtout qu'il demande si on veut vraiment fermer, dans certains cas,
on peut s'attendre à ce qu'il envoie SIGHUP dans ce cas là mais pas s'il
ne pose pas cette question ...

il ne
sait pas où envoyer stdout (la sortie standard), etc.



ah bon ?
il me semblait que ça ne posait pas de pb,
que si ça ne sait pas où aller ça ne va simplement nulle part, mais
qu'en tout cas c'est pas une cause de fin prématurée


Écris nohup en début de ligne et réessaie, ça devrait aller mieux.



merci bcp, d'après wikipedia ça a l'air d'être ça :-)


reste un pb :

quand je fais
nohup script &> /dev/null &
je n'ai plus le
Killed by signal 1.
dans le rsync lancé par script normalement,
mais j'ai encore le
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20)
dans le rsync lancé par script avec "&"

comment ça se fait ?
le nohup n'est pas transmis ??

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Paul Gaborit
Le #20311491
À (at) Wed, 07 Oct 2009 17:54:04 +0200,
Thomas
c'est relativement nouveau, que le terminal envoie SIGHUP à tous ses
fils, non ?
j'ai un souvenir assez net de pouvoir faire
script &
pour pouvoir fermer le terminal et qu'il reste en tache de fond, et que
ça marchait très bien ...
(ou alors c'est vrai quand on le fait à travers ssh ?)

surtout qu'il demande si on veut vraiment fermer, dans certains cas,
on peut s'attendre à ce qu'il envoie SIGHUP dans ce cas là mais pas s'il
ne pose pas cette question ...



Ce n'est pas le terminal qui envoie le SIGHUP, c'est le shell. Selon
le shell, le comportement n'est pas le même vis-à vis des commandes
lancées via 'commande &' et certains shells permettent de le
configurer...

--
Paul Gaborit -
Publicité
Poster une réponse
Anonyme