Voilà, j'ai un petit problème avec une application sur lequel j'avais commencé une conversation sur un autre forum mais qui manque de réponse peut-être à cause de son niveau, donc je la tente avec des gens peut-être plus expert.
Conversation originale :
http://www.developpez.net/forums/showthread.php?p=2069429
En résumé :
J'aimerai forcer le flush du buffer de sortie (enfin, je pense que c'est une question de buffer) de certaine application comme le fait les consoles.
Je suis actuellement coincé sur Blender.
Si je fait dans une console :
$ blender 2>&1 > out.txt
et dans une autre :
$ tail -f out.txt
Le fichier "out.txt" ne se rempli que quand je quitte Blender. Tandis que autre application (genre mplayer) se rempli bien au fur et à mesure.
Mais si je lance blender simplement dans une console, j'ai bien la sortie au fur et à mesure. Donc il y'a une rétention de sortie quelque part que la console arrive à récuperer.
Si quelqu'un saurai comment faire (en C de préférence) je lui en serai très reconnaissant :)
Snark
# .
Posté par Toto . Évalué à 2.
$ blender 2>&out.txt
[^] # Re: .
Posté par Snarky . Évalué à 2.
Mais si tu veux parler de ça ne donne rien parce qu'il n'y a pas d'erreur.
[^] # Re: .
Posté par NeoX . Évalué à 1.
http://tldp.org/LDP/abs/html/io-redirection.html
command &>filename
devrait faire ce qu'il te demande...
[^] # Re: .
Posté par NeoX . Évalué à 1.
http://linuxfr.org/tips/108.html
[^] # Re: .
Posté par Toto . Évalué à 2.
En bash, ca donnerais ca d'après la doc
$ blender >out.txt 2>&1
L'ordre des redirections est important
# le problème est dans blender
Posté par Olivier Jeannet . Évalué à 1.
Ce comportement n'est peut-être pas dans Blender directement, mais peut-être dans l'implémentation dans la libc (à vérifier). Je crains qu'il n'y ait pas de solution à ton problème.
Personnellement, je redirige plutôt dans cet ordre : blender >out.txt 2>&1 mais je ne sais pas si ça change quelque chose.
Note que tu peux aussi faire un blender 2>&1 | tee out.txt.
[^] # Re: le problème est dans blender
Posté par Toto . Évalué à 4.
Exemple
$ cmd >/dev/null 2>&1
Etat Initial :
1 : STDIN
2 : STDERR
1ere redirection
1 : /dev/null
2 : STDERR
2eme redirection
1 : /dev/null
2 : /dev/null
----------------------------------
2>&1 >/dev/null
Etat Initial :
1 : STDIN
2 : STDERR
1ere redirection
1 : STDIN
2 : STDIN
2eme redirection
1 : /dev/null
2 : STDIN
[^] # Re: le problème est dans blender
Posté par Olivier Jeannet . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.