bonjour,
voilà j'utilise la fonction popen() pour coder sous linux une sorte de shell à distance.
en fait, j'ai un probleme quand j'execute certaines commandes telles que ping
je m'explique :
quand j'execute une commande il me sort sur la sortie standard la reponse
mais lorsque je fais un ping il ne s'arete pas (car quand on ping 10.0.0.1 par exemple il pinguera toujours)
j'aimerais savoir comment eviter celà, parce-que quand je fai un ping, apres je ne peut plus envoyer de commandes...
voici mon code :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 memset(tempbuf, '\0', sizeof(tempbuf)); strncpy(tempbuf, ptr1+4, (ptr2 - (ptr1 + 4))); if ((sortie = popen(tempbuf, "r")) == NULL) { fprintf(stderr, " Erreur popen %d \n", errno); exit(1); } while( fgets(ligne, sizeof(ligne), sortie) != NULL) { fputs(ligne,stdout); } } pclose(sortie); fflush(stdin); fflush(stdout);
Partager