Nenhum conteúdo de log com cauda, mas ao finalizar um processo, vejo conteúdo com menos

4

Basicamente, estou executando:

nohup ./executable &> /tmp/out.log &

Para garantir que o processo esteja em execução, executei o comando:

tail -f /tmp/out.log

Mas a única coisa que posso obter de tail é "nohup: ignorando a entrada" e, depois de eliminar o processo iniciado anteriormente, posso ver o conteúdo de out.log

    
por 9uzman7 15.09.2018 / 22:43

2 respostas

5

Execute seu programa como:

nohup stdbuf -oL ./executable &> /tmp/out.log &

stdbuf pode alterar o buffer padrão.

    
por 15.09.2018 / 23:08
4

Seu executável está usando saída em buffer, então você verá apenas algo com tail se mais de um bloco de saída for produzido. O tamanho desse bloco será de 4k ou mais.

Se você mesmo escreveu o executável, altere a saída para a linha em buffer ou para não armazenar em buffer.

    
por 15.09.2018 / 22:54