O diálogo --progress tem 2 opções muito interessantes: --auto-close - Fecha o diálogo quando atinge 100% --auto-kill - Mata o processo principal se o botão CANCELAR for pressionado A Linux Magazine está publicando em 4 fascículos, um curso de zenity que escrevi (cerca de 30 páginas A4) já que praticamente não existe documentação, nem em inglês.
Acho que isso resolve seu problema. -- Abração, Julio *Cursos de Shell ou Zenity nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - Turmas fechadas em outras cidades ligue (21) 8112-9988* 2008/12/2 Rafael de Oliveira Costa <[EMAIL PROTECTED]> > 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] > > > -- Abração, Julio Cursos de Shell nos finais de semana: - Em SP ligue (11) 2125-4747; - Em DF ligue (61) 3223-3000; - Turmas fechadas em outras cidades ligue (21) 8112-9988 [As partes desta mensagem que não continham texto foram removidas]
