Nohup y Python -u: todavía no registra datos en tiempo real

Al iniciar un proceso de Python, en segundo plano, con

nohup python myscript.py > test.log 2>&1 < /dev/null &

el problema es esestdout está almacenado: los datos sonno escrito en tiempo real paratest.log. La solución común aeste problema Es paraenjuagar periódicamente consys.stdout.flush()o incluso mejor, como se sugierepor esta respuesta, usarpython -u :

nohup python -u myscript.py > test.log 2>&1 < /dev/null &

Pero esto no es suficiente. Noté que funcionó durante unas horas, y luego, dejó de funcionar,es decir, después de unas horastest.log ya no está escrito en tiempo real, incluso si usabanohup python -u ....

1)Así es como reproducir el problema (Tengo un Debian Jessie estándar). Comience este archivo:

import time
import datetime
while True:
    print datetime.datetime.now()
    time.sleep(60)

connohup python -u myscript.py > test.log 2>&1 < /dev/null &. El archivo de registro se actualizará durante unas pocas horas y luego, después de 3 o 4 horas,nada nunca más.

2)Cómo resolver este problema, sin tener que insertarstdout.flush() cada 2 líneas en el código (solución fea)?

Respuestas a la pregunta(2)

Su respuesta a la pregunta