Comment récuperer le resultat de system() dans une variable

kiri_le_clown Messages postés 2 Date d'inscription samedi 15 janvier 2005 Statut Membre Dernière intervention 15 avril 2010 - 14 avril 2010 à 17:27
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 - 15 avril 2010 à 18:32
Bonjour,
j'aimerai récuperer le pid d'un processus pour cela je fais :

#include <cstdlib>

int main(){

int pid;
pid=system("ps -A | grep firefox | cut -d' ' -f2");


Mais avec ce bout de code, dans ma variable pid, j'obtient la valeur de retour de system() (0, car elle fonctionne) comment faire pour récuperer le resultat ?

Merci d'avance :)

3 réponses

katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
15 avril 2010 à 08:08
salut, popen()
0
kiri_le_clown Messages postés 2 Date d'inscription samedi 15 janvier 2005 Statut Membre Dernière intervention 15 avril 2010
15 avril 2010 à 16:36
Merci pour ta réponse mais pourrai tu m'éclaircir un peu plus ?!

j'arrive à mettre la valeur de mon pid dans un FILE* mais comment recuperer la valeur ?!

FILE* tmp=popen("ps -A | grep geany | cut -d ' ' -f2", "w")
pclose(tmp);
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
15 avril 2010 à 18:32
Sous UNIX tout est fichier. Avec un descripteur de fichier (FILE*) on peut lire et écrire dans un flux de données.

Tu vois la zone de saisie au dessus? tu tapes popen dedans puis entrée ça donne ça http://www.cppfrance.com/recherche.aspx?r=popen&dotnet=0#

Tu peux aller là aussi http://www.google.fr/search?sourceid=chrome&ie=UTF-8&q=popen+example

merci, merci.
0
Rejoignez-nous