PING-Befehl abbrechen OHNE "STRG+C"
-
Hallo zusammen,
aus einem Programm soll der PING-Befehl aufgerufen werden. Das habe ich mit popen() wie folgt erreicht:
FILE *test; const char *command; command = "ping 192.168.0.36"; test = popen(command, "w"); pclose (test);
Jetzt meine Frage: Wie kann ich verhindern, daß der Befehl bis in die Unendlichkeit weiterläuft? "STRG+C" ist mir bekannt, stell für mich aber keine Lösung dar. Im Idealfall würde "PING" direkt nach dem ersten gesendete/empfangenen Paket beenden.
Vielen Dank für Eure Hilfe
Stephan
-
Ich glaube, dass die einzige Möglichkeit ist, direkt beim ersten Erfolg mit dem Pingen aufzuhören folgende ist:
Führe den Befehl
command = "ping -c 1 192.168.0.36";
mit popen so oft aus, bis pclose null zurück gibt.
-
Hi,
machst doch einfach so:ping -c 1 192.168.0.36
MfG
Alexander Sulfrian
EDIT: Mist zuuuu spät!
-
Das war zu einfach!!!!!!!!!
Manchmal sieht man den Wald vor lauter Bäumen nicht.Dank Euch.
-
Moinsen
bei dem thema hätt ich auch grade ne frage:wenn ich eine IP pingen will, aber die IP eine variable ist (oder ein string oder char oder was auch immer...) dann führe ich den befehl
system("ping "+ZielIP); aus.
das funzt aber nich...
irgendwelche tips???
-
strcat
-
Merci
-
oder
#include <string>
using namespace std;string ip = "192.168.0.212";
string cmd = "ping -c "+ip;popen(cmd.c_str(), "w");
-
char war doch richtig bloss der zeiger war falsch gesetzt (ich scheiss schlamper!)