Делаю следующее:
hndlSIGHUP () {
log_ 'Received SIGHUP, what do i have to do now?'
return 0
}
trap hndlSIGHUP SIGHUP
rsync -avz rsync://src dst &
pid=$!
wait $pid
(( $? )) && \
log_ 'Oh, shit, WTH happens with rsync?!'
Сигнал обрабатывается, в лог всё пишется...
НО! Сигнал почему-то получает не только собственно мой скрипт, но и форкнутый им процесс rsync!
В результате rsync, которому я не знаю, как сказать, чтобы он не реагировал на HUP, благополучно завершается с кодом ошибки 129. Я же вижу в логе безрадостное Oh, shit, WTH happens with rsync?!
Внимание, вопрос:
Уважаемые знатоки, скажите, как избежать отправки сигнала HUP порождённому rsync'у?