shell-script-pt
[Top][All Lists]
Advanced

[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]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]