system("ping -c 1 127.0.0.1 > /dev/null");
sollte es tun. -c 1
sendet nur ein einzelnes Paket. Wir pipen zu /dev/null
, weil uns die Ausgabe auf stdout egal ist (ist das die Liste, auf die Sie sich beziehen?). Wenn Sie auch stderr verwerfen möchten, fügen Sie am Ende eine 2>&1
hinzu. Möglicherweise möchten Sie auch die Antwortzeit mithilfe von -W
begrenzen.
Der Aufruf gibt eine Ganzzahl zurück, die den Erfolg oder Fehler darstellt. 0 gibt Erfolg an, während eine Ganzzahl ungleich Null einen Fehler darstellt. Hier ist ein Beispielcode: http://ideone.com/cf0eR
Beachten Sie, dass ein fehlgeschlagener Ping nicht garantiert, dass das Gerät offline ist. In Ihrer kontrollierten Umgebung ist es wahrscheinlich vernünftig zu erwarten, dass es funktioniert.
Ich habe es versucht, aber es gibt tatsächlich nichts aus, wenn das Gerät verbunden ist oder nicht ... – JNK
@JNK Die 'system()' Funktion gibt eine ganze Zahl, wie ich erklärte. Ich habe absichtlich alle anderen Ausgaben durch Verlegen nach '/ dev/null' verworfen. – marcog
Mein Fehler ... funktioniert! : D – JNK