[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Trap do Bash ::: Abortar Comando
From: |
Marcus Vinicius |
Subject: |
Trap do Bash ::: Abortar Comando |
Date: |
Mon, 7 Jan 2008 07:38:08 -0800 (PST) |
Pessoal, Boa tarde.
Tenho o seguinte script que fiz para exemplificar a minha necessidade:
#!/bin/bash
durma=10
trap "echo -e '\e[31;1mExecução Interrompida. Saindo\e[m' ; echo $$: Sinal
Identificado >> /tmp/morte.txt" 10
while : ; do ## loop infinito
sleep ${durma}
echo Script em Execução, com sleep em ${durma}
sleep ${durma}
done
O meu problema é com o trap. Ao executar no console: "kill -USR1 PID" ele só
identifica o sinal depois q o sleep termina.
Se meu sleep estiver em 60, o trap só pega o sinal depois de 60 segundos.
O que eu gostaria é que ao enviar um sinal, o script oborte o sleep e execute o
trap.
Percebam que o sleep é um processo filho. O kill está sendo mandado diretamente
para o pid do script, pai.
Ex:
root 25457 12265 0 13:33 pts/0 00:00:00 /bin/bash /tmp/teste.sh
root 25458 25457 0 13:33 pts/0 00:00:00 sleep 10
Ao mandar kill no processo pai, ele não recebe na hora pois o filho sleep ainda
não terminou.
Minha versão de bash é 3.1.17
Alguém sabe se é possível fazer oq preciso?
Agradeço desde já.
--
Marcus Vinícius
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
armazenamento!
http://br.mail.yahoo.com/
[As partes desta mensagem que não continham texto foram removidas]
- Trap do Bash ::: Abortar Comando,
Marcus Vinicius <=