Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

stdin stdout stderr et monstdout

1 réponse
Avatar
jlaurens
Salut à tous,

j'écris un programme qui lance des taches à l'aide d'une interface de
haut niveau, (J'utilise NSTask de cocoa sur Mac OS X) c'est pour situer
à la fois le cadre de mon pbm et mon faible niveau de connaissance.

En pratique, mon pgm lance des scripts shell avec lesquels il
communique. J'aimerais pouvoir séparer les sorties du script en deux
flux différents et pouvoir recevoir en direct avec mon programme les
données provenant de ces deux flux.

Est-ce clair?

1 réponse

Avatar
DINH Viêt Hoà

j'écris un programme qui lance des taches à l'aide d'une interface de
haut niveau, (J'utilise NSTask de cocoa sur Mac OS X) c'est pour situer
à la fois le cadre de mon pbm et mon faible niveau de connaissance.

En pratique, mon pgm lance des scripts shell avec lesquels il
communique. J'aimerais pouvoir séparer les sorties du script en deux
flux différents et pouvoir recevoir en direct avec mon programme les
données provenant de ces deux flux.

Est-ce clair?


Je ne sais pas si c'est possible avec NSTask, mais il suffit d'utiliser
fork(), dup2() pour rediriger les sorties et entrées standard, puis
exec() sur le processus dupliqué.

man fork
man dup2
man exec

Tu dois pouvoir trouver de bons examples sur internet.
(dont les sources de popen()).

--
DINH V. Hoa,

"oh là, doucement bijou" -- nico