/ / définir la date limite du ping par défaut sous linux - linux, ping, icmp

définir l'échéance par défaut du ping sous linux

Je veux définir la date limite par défaut pour le ping dans certains fichiers de paramètres ou autre. Mon programme se bloque lorsque vous essayez de vous connecter à une adresse IP non-ping.

Dans le terminal, je peux appeler "ping 123.0.0.1 -w 5" et cela ne durera pas éternellement, mais je ne peux pas définir d’échéance dans le code.

Réponses:

3 pour la réponse № 1

Solution Shell:

Dans ton .bashrc ajoutez ce qui suit:

function ping {
/bin/ping $@ -w5
}

Ceci créera une fonction wrapper, qui fixera le délai d’attente à 5 secondes pour tous les appels à ping

Remarque: la version ci-dessus écrasera un -w param utilisé en ligne de commande. Si vous voulez toujours pouvoir écraser le délai d’expiration par défaut via la ligne de commande, placez le -w5 avant le $@:

function ping {
/bin/ping -w5 $@
}

Solution Pure C:

Je ne donnerai pas un exemple complet par souci de concision. Vous pouvez en trouver un ici par exemple. Dans l'exemple donné, vous devrez remplacer le recvfrom() appel qui lit la réponse ICMP et peut bloquer par un select() ou poll() appeler avec un délai d'attente.