Os daemons enviam mensagens quando saem

2

Não tenho certeza se o daemon é o termo correto, mas temos vários processos (scripts ksh) que iniciamos com o comando "at" no AIX. Esperamos que eles sejam executados até que sejam instruídos a encerrar o processo, e nesse ponto o script ksh faz uma "saída" que de alguma forma faz com que o processo envie uma mensagem de correio para a conta do proprietário do processo. Quando um erro fatal mata o processo, também recebemos uma mensagem de correio. É ótimo ter um e-mail enviado quando o processo morre devido a algum erro (para as informações de depuração fornecidas), mas quando ocorre um desligamento normal, prefiro que nenhuma mensagem de e-mail seja enviada. Isso é possível?

    
por Scavenger 25.06.2013 / 23:01

1 resposta

1

Se a saída do erro for impressa em stderr e toda a saída no caso de saída normal para stdout, você poderá redirecionar a saída quando iniciar o comando com at .

at command > /dev/null

Por padrão, at envia e-mails tanto stdout quanto stderr (da página man):

The user will be mailed standard error and standard output from his commands, if any. Mail will be sent using the command /usr/sbin/sendmail.

O problema é que você perderá o stdout também quando sair com um erro. Eu tenho para este tipo de coisas um pequeno programa Python que envolve outro comando e armazena em cache a saída (stdout e stderr), esses dados em cache só são enviados se o valor de saída do comando for diferente de zero (ou se algumas cadeias de erro especiais estava presente na saída, o que foi útil para algum linker do Windows que usei que sempre saía com 0, embora houvesse erros.).

    
por 25.06.2013 / 23:14

Tags