Resposta simples, a stdout não é liberada automaticamente.
Você pode alterá-lo para o modo sem buffer, por exemplo
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
Veja o link a seguir para mais detalhes
Eu tento usar nohup para gravar a saída do meu script python. No entanto, posso ver a saída para a tela quando não estou usando nohup.
Start at XX:XX:XX
Finished at XX:XX:XX
Mas então eu uso o nohup, mas o arquivo nohup.out está vazio. Alguém tem uma pista do que está acontecendo?
Este é o comando que usei:
nohup python myPython.py &
Eu tentei nohup antes e funciona perfeitamente bem. Eu também tentei executar algum script Python de teste curto para gravar a saída e é bom também.
O script de teste é curto e simples:
string1 = ["John","1","2","0","f","a","s"]
line = [""]*6
line[3:6] = string1 [0:3]
print line
Resposta simples, a stdout não é liberada automaticamente.
Você pode alterá-lo para o modo sem buffer, por exemplo
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
Veja o link a seguir para mais detalhes