Advertências com o redirecionamento de Stdout / Stderr para arquivos?

0

Eu estava pensando em fazer com que os programas que iniciam no login enviem seus stdout / stderr para os arquivos, para que eu possa verificar o stdout / stderr de qualquer um deles, se necessário. Eu também pretendo substituir o último arquivo de log em vez de acrescentar.

Há algum efeito colateral negativo em fazer isso? Minha preocupação específica é a atividade desnecessária no disco rígido.

    
por mellowmaroon 30.11.2013 / 10:17

2 respostas

3

Se você não for cuidadoso com a quantidade de log que seu programa gera, você ainda pode preencher um disco apesar de não criar mais de um arquivo de log, causando todos os tipos de problemas:

  1. Se for executado como root, você pode literalmente preencher o disco, já que ele ignora as cotas. Alguns sistemas de arquivos também reservam uma certa quantidade mínima de espaço livre para o root, para evitar os problemas abaixo.

  2. Se um sistema de arquivos estiver cheio, você não poderá nem criar um arquivo temporário no disco. Se o sistema de arquivos que você preenche também é o local em que parte do seu espaço temporário comum ( /tmp , /usr/tmp , /var/tmp ) programas que tentam usar esse espaço provavelmente morrerá se estiver em execução ou falhará se não for.

  3. Os programas que travam quando isso acontece não soltam núcleos , se você configurou seu sistema para permitir isso. Isso pode dificultar a redução da sensibilidade desses programas a condições de pouco espaço em disco, uma vez que dificulta a descoberta do caminho de código específico que causou a falha do programa.

Você pode executar logrotate junto com seu programa para reduzir o risco disso.

logrotate não é 100% infalível. Ele normalmente é executado como um cron job, portanto, se você preencher o disco entre dois cron runs, o problema não será corrigido até que logrotate seja executado.

    
por 30.11.2013 / 10:44
0

O stderr já deve estar logado em .xsession-errors , pelo menos em algumas distribuições Linux.

É claro que estou supondo que você esteja falando apenas de logins gráficos.

    
por 30.11.2013 / 18:38