2010-02-18 6 views
0

Je travaille sur une application de ligne de commande pour m'aider sur les tâches launchd pour savoir si une tâche est en cours d'exécution en retournant un BOOL, le problème vient quand j'ai besoin de faire un ligne de commande et obtenir la sortie pour l'analyse ultérieure. Je suis en train de coder en C/C++ donc je ne peux pas utiliser NSTask pour cela, des idées sur la façon d'atteindre l'objectif?obtenir la sortie de commande pour analyser dans c/MacOSX

Le commandement

sudo launchctl list -x [job_label] 

Si j'utilise le système(), je suis incapable d'obtenir la sortie ainsi dans d'autres recherches, je suis venu avec popen(), mais sans succès là-bas.

Merci d'avance.

Répondre

0

Vous devez créer un tube à partir duquel vous pouvez lire la sortie du programme. Cela impliquera l'utilisation de pipe, fork, exec*, et peut-être même dup. Il y a un bon tutoriel sur the linux documentation project.

0

Vous pouvez le faire à la-bière maison avec pipe(), fork(), et la famille exec*() des fonctions, ou vous pouvez utiliser popen() si ses contraintes répondent à vos besoins.

Questions connexes