Enviado em 31/08/2011 - 17:27h
Olá!
estou com uma dúvida e gostaria de saber se a comunidade pode me ajudar.
seguinte, estou desenvolvendo um script para enviar arquivos por SCP utilizando a interface gráfica, na verdade quero enviar cerca de 60 PNG's.
O problema ocorre quando o usuário pressiona os botões cancelar ou fechar. Neste ponto o script deveria parar o envio e continuar no próximo ponto.
Mas a janela fecha, porém o envio scp continua em background. eu quero pará-lo
pensei em matar esse processo através do PID, mas não sei ainda como obter o PID deste subprocesso, somente o do script($$). E, pior ainda, parece que o bash está gerando um PID para cada vez que envia um png, ou seja, 60 PIDs
Aqui está o trecho do script:
.
.
.
#O diretório está vazio??
files=$(ls $DIR/ | wc -l);
if [ "$files" = 0 ]
then
zenity --error --width=300 --height=90 \
--title="Erro" \
--text="O diretório $DIR está vazio" \
return;
else
(
i=0
for arq in `seq 0 $files` ; do
echo $arq
scp -p $DIR/*.png USER@$IP_CLI:$RMT_DIR &>/dev/null
sleep 0.5
done
)|zenity --progress --percentage=0 --auto-close \
--title="Enviando.." \
--text="Enviando $ARQ, aguarde" \
#Agora quero saber se o usuário escolheu a opção cancelar ou fechar para, então fechar o programa
#if [ "$processo_SCP" = 1 ]
#then
#kill -9 $processo_SCP
#fi
fi
.
.
.
Este é só um trecho. alterei algumas coisas para exemplificar melhor.
Agradeceria se alguém pudesse me dar uma força.
Obrigado!!
estou com uma dúvida e gostaria de saber se a comunidade pode me ajudar.
seguinte, estou desenvolvendo um script para enviar arquivos por SCP utilizando a interface gráfica, na verdade quero enviar cerca de 60 PNG's.
O problema ocorre quando o usuário pressiona os botões cancelar ou fechar. Neste ponto o script deveria parar o envio e continuar no próximo ponto.
Mas a janela fecha, porém o envio scp continua em background. eu quero pará-lo
pensei em matar esse processo através do PID, mas não sei ainda como obter o PID deste subprocesso, somente o do script($$). E, pior ainda, parece que o bash está gerando um PID para cada vez que envia um png, ou seja, 60 PIDs
Aqui está o trecho do script:
.
.
.
#O diretório está vazio??
files=$(ls $DIR/ | wc -l);
if [ "$files" = 0 ]
then
zenity --error --width=300 --height=90 \
--title="Erro" \
--text="O diretório $DIR está vazio" \
return;
else
(
i=0
for arq in `seq 0 $files` ; do
echo $arq
scp -p $DIR/*.png USER@$IP_CLI:$RMT_DIR &>/dev/null
sleep 0.5
done
)|zenity --progress --percentage=0 --auto-close \
--title="Enviando.." \
--text="Enviando $ARQ, aguarde" \
#Agora quero saber se o usuário escolheu a opção cancelar ou fechar para, então fechar o programa
#if [ "$processo_SCP" = 1 ]
#then
#kill -9 $processo_SCP
#fi
fi
.
.
.
Este é só um trecho. alterei algumas coisas para exemplificar melhor.
Agradeceria se alguém pudesse me dar uma força.
Obrigado!!