Dans mon application, je crée un ensemble de processus enfants. Après fork() j'ouvre un fichier par processus, définissez le stdout/stderr du processus créé pour pointer vers ce fichier, puis exécutez le programme prévu.Linux - Désactiver les E/S tamponnées dans les processus fils
Y at-il une option pour le processus parent pour configurer les choses de sorte que lorsque le processus fils effectue un printf, il soit immédiatement vidé dans le fichier de sortie sans avoir à appeler flush()? Ou existe-t-il une API qui peut être appelée depuis le processus fils lui-même (avant exec) pour désactiver les E/S mises en mémoire tampon?
Voir la page de manuel de setvbuf, vous pouvez définir stdout sur unbuffered. stderr est déjà défini sur unbuffered. –