Ola,

estou com problemas ao utilizar o a opcao que gera a janela de progresso do
zenity. como podem ver abaixo, eu rodo o rsync em background com a opcao
progress do zenity. ate ai tudo bem pois o rsync continua executando
enquanto os demais comandos do script sao executados.

mas o problema e o seguinte: eu quero que ao clicar no botao de cancelar da
janela de progresso do zenity este venha a matar o processo do rsync e
terminar o script ou entao se nao clicar no botao cancelar continuar o
script normalmente

eu estou tentando da maneira abaixo mas nao esta funcionando. alguem tem
alguma ideia ?

rsync -Cravzp -e ssh --delete [EMAIL PROTECTED]:$directory/* /backup/ | tee 
$(zenity
--progress --pulsate ) &> /dev/null &
pidrsync=$!

#com esse while eu quero verificar quando o botao cancelar foi clicado
while ![ $? -eq 0 ]
do
       #com esse if eu verifico se ele nao clicou o botao cancelar mas o
rsync terminou
       if ps aux | grep "$pidrsync" &>/dev/null
       then
              echo "rsync terminou"
              break
       fi
done

# aqui eu mato o processo do rsync pois o botao de cancelar foi clicado
if ps aux | grep "$pidrsync" &>/dev/null
then
        echo "clicou no botao cancelar do zenity "
         kill -9 $pidrsync
         exit
fi


-- 
Atenciosamente
Rafael de Oliveira Costa

"The first step to getting the things you want out of life is this : decide
what you want"
Ben Stein


[As partes desta mensagem que não continham texto foram removidas]

Responder a