Como obtenho o sinal de morte / mensagem / razão dentro de um script?

1

Estou usando a seguinte armadilha:

trap OnExit EXIT

E na minha função OnExit eu gostaria de capturar todas as informações que puder sobre o que aconteceu para que eu possa escrevê-lo em um arquivo de log. Eu gostaria de saber quem, por que, como, quando etc.

Tudo isso é possível?

    
por TCZ8 25.06.2014 / 22:21

1 resposta

1

1. who - como outro usuário não pode enviar sinais para seus processos, é mais provável que ele seja o usuário proprietário do processo (o usuário root ainda pode, mas eu não sei como descobrir se o root mata o 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 sob o porquê).

3. como - como BASH recebe o mesmo sinal se o usuário pressiona Ctrl + C ou se ele envia uma interrupção via kill , AFAIK é impossível descobrir exatamente como aconteceu a interrupção.

4. when - é fácil, use o comando date :

date > log

EDITAR: se você quisesse determinar o tipo de sinal em "por que" e "como", consulte isso Q & A no StackOverflow.

    
por 25.06.2014 / 22:39