system("ping -c 1 127.0.0.1 > /dev/null");
devrait faire l'affaire. -c 1
n'envoie qu'un seul paquet. Nous passons à /dev/null
car nous ne nous soucions pas de la sortie sur stdout (est-ce la liste à laquelle vous faites référence?). Si vous voulez également rejeter stderr, ajoutez un 2>&1
à la fin. Vous pouvez également limiter le temps de réponse en utilisant -W
.
L'appel renverra un entier représentant le succès ou l'échec. 0 indique le succès, tandis qu'un entier différent de zéro représente un échec. Voici quelques exemples de code: http://ideone.com/cf0eR
Sachez qu'un ping échoué ne garantit pas que le périphérique est hors ligne. Bien que dans votre environnement contrôlé, il est probablement raisonnable de s'attendre à ce que cela fonctionne.
Je l'ai essayé mais il ne sort rien si le périphérique est connecté ou pas ... – JNK
@JNK La fonction 'system()' renvoie un entier, comme je l'ai expliqué. J'ai délibérément jeté toutes les autres sorties en redirigeant vers/dev/null. – marcog
Mon erreur ... fonctionne! : D – JNK