Como obtenho o sinal/mensagem/motivo de interrupção dentro de um script?

Como obtenho o sinal/mensagem/motivo de interrupção dentro de um script?

Estou usando a seguinte armadilha:

trap OnExit EXIT

E na minha OnExitfunção eu gostaria de capturar todas as informações possíveis sobre o que aconteceu para poder gravá-las em um arquivo de log. Gostaria de saber quem, por que, como, quando etc.

Isso é possível?

Responder1

1. quem- como outro usuário não pode enviar sinais para seus processos, é mais provável que seja o usuário proprietário do processo (o usuário root ainda pode, mas não sei como descobrir se o root mata seu processo).

2. por que- talvez algo assim:

echo "Why did you interrupted the process?" && read why && echo $why > log

(Não tenho certeza do que você quer dizer com o porquê).

3. como- como o BASH recebe o mesmo sinal se o usuário pressionar Ctrl + Cou se enviar uma interrupção via kill, AFAIK é impossível descobrir como exatamente a interrupção aconteceu.

4. quando- isso é fácil, use o datecomando:

date > log

EDITAR:se você quis dizer determinar o tipo de sinal em "por que" e "como", consulteessePerguntas e respostas sobre StackOverflow.

informação relacionada