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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Trap do Bash ::: Abortar Comando


From: Julio C. Neves
Subject: Re: [shell-script] Trap do Bash ::: Abortar Comando
Date: Mon, 7 Jan 2008 17:13:29 -0200

Fala Marcus,
nem todo sinal mata (o 19 p.ex. somente suspende o processo). Sobre os
sinais 10 e 12 (SIGUSR1 e SIGUSR2), eu só sei que os são usados para threads
e por isso pode ser que isto que vc constatou seja a sua característica, nem
sei pq vc o está utilizando.

O que te falei sobre o trap é verdade e funciona. Pq vc não o experimenta
com o sinal 15 que é o default do kill?

Abraços,
Julio

Em 07/01/08, Marcus Vinicius <address@hidden> escreveu:
>
>   Olá Julio, Obrigado pela resposta.
>
> Testei com ( ' ) mas o sintoma permaneceu o mesmo.
>
> simplifiquei a linha do trap com um único comando que ao receber o sinal
> 10 deveria me enviar uma mensagem na tela..
>
> trap 'echo Execução Interrompida' 10
>
> while : ; do ## loop infinito
> sleep ${durma}
> echo Script em Execução, com sleep em ${durma}
> done
>
> Fix um debug com a opção "-x" e quando eu envio o sinal 10 no pid do pai e
> ele só mostra a mensagem quando o sleep atual termina.
> Neste teste não consegui simular na prática a diferência entre ( " ) e ( '
> ) no trap.
>
> Obrigado.
>
> --
> Marcus Vinícius
>
> ----- Mensagem original ----
> De: Julio C. Neves <address@hidden <julio.neves%40gmail.com>>
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Enviadas: Segunda-feira, 7 de Janeiro de 2008 15:57:50
> Assunto: Re: [shell-script] Trap do Bash ::: Abortar Comando
>
> Fala Marcus,
>
> o Shell lida com o trap em 2 momentos distintos: qdo ele o lê o coloca em
>
> uma área de memória e qdo ele recebe o sinal e o executa.
>
> O que vc quer deve ser resolvido nesta primeira fase. Se os cmds do trap
>
> estiverem entre aspas ("), os cmds serão armazenados em memória já
>
> resolvidos; caso os mesmos cmds estiverem entre plics ('), estes cmds só
>
> serão resolvidos no momento que o sinal for recebido e assim sendo o PID
>
> gerado será o do filho.
>
> Assim sendo, o seu trap deveria ser:
>
> trap 'echo -e "\e[31;1mExecuçã o Interrompida. Saindo\e[m" ; echo $$:
> Sinal
>
> Identificado >> /tmp/morte.txt' 10
>
> Espero que a explicação esteja boa, pois no meu livro falo sobre isso,
> porém
>
> não gosto da redação, pois acho que ninguém entende.
>
> Abração,
>
> Julio
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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