Re: Beenden von rsync
Hallo,
Andre Tann <atann@alphasrv.net>:
> #!/bin/bash
> rsync ... /quelle /ziel
>
> # ./skript &
> [1] 421
>dann bleibt rsync am laufen, selbst wenn mann das Skript mit kill 421 beendet.
>Woran liegt das? Wieso führt das Killen eines Elternprozesses nicht dazu,
>dass alle Kind-Prozesse, also alle rsync-Prozesse, verschwinden?
Das liegt daran, dass die Bash das Signal (in diesem Fall TERM) nicht an die
aufgerufenen Prozesse weiter leitet. Mit rsync hat das nichts zu tun.
>Und wie könnte man alle rsync-Prozesse killen, die zu dem Skript gehören?
Indem man am Anfang des Skriptes folgende Shell-Option setzt:
shopt -s huponexit
dann sendet die Bash ein HUP Signal an alle ihre direkten Kind-Prozesse,
wenn sie terminiert. HUP ist zwar nicht das gleiche wie TERM (kill) oder
INT (Ctrl-C), führt aber normalerweise auch zum Beenden des Prozesses.
Gruß, Harald
Reply to: