stdin stdout stderr et monstdout

Le
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?
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DINH Viêt Hoà
Le #526970

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

Publicité
Poster une réponse
Anonyme