J'ai écrit un programme en python utilisant le code suivant:pas de sortie lorsque le fichier python en cours d'exécution en arrière-plan
for item in items:
sys.stdout.write("".join(str(i) for i in item))
sys.stdout.write(self.separator)
sys.stdout.flush()
pour imprimer sa sortie.
Quand je lance normalement via le terminal:
[email protected]:~$ ./program.py
il fonctionne bien.
Aussi quand je le lance et envoyer le stdout vers un fichier:
[email protected]:~$ ./program.py > file
Mais lorsque je tente de l'exécuter en arrière-plan:
[email protected]:~$ ./program.py > file &
il ne remplit pas le fichier avec une sortie .
Quelqu'un sait comment le résoudre?
Combien d'articles sont là en 'items'? On dirait un problème de mise en mémoire tampon. – codeforester
Pour le point de @ codeforester pouvez-vous essayer d'exécuter python avec l'indicateur -u pour voir si le buffering est bien le coupable? 'python -u ./program.py> fichier &' – bernie