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]

Responder a