Risposte:
Da man ping
:
-w deadline
Specify a timeout, in seconds, before ping exits regardless of how many packets have been sent or received. In this case ping does not stop after count packet are sent, it waits either for deadline expire or until count probes are answered or for some error
notification from network.
-W timeout
Time to wait for a response, in seconds. The option affects only timeout in absense of any responses, otherwise ping waits for two RTTs.
Cioè, -w
imposta il timeout per l' intera sessione del programma . Se impostato -w 30
, ping
(il programma) verrà chiuso dopo 30 secondi.
-W
d'altra parte imposta il timeout per un singolo ping . Se impostato -W 1
, quel particolare tentativo di ping scadrà.
Per quanto riguarda come impostare un timeout di ping individuale di 200ms, non credo che questo possa essere fatto con iputils
'versione di ping
. Potresti provare a programmare direttamente con una libreria ICMP.
-w
bandiera, ma ha la descrizione. Ho solo creduto che appartenesse a -W. Quindi non c'è modo di definire un timeout inferiore a 1s?
-w
, -c
verrà ignorato. Se hai solo bisogno di un singolo ping, puoi usare -c 1 -W 4
o qualunque sia il timeout appropriato per te.
La mia manpage (Fedora 18, iputils-20121221-1.fc18) dice
-w deadline
Specify a timeout, in seconds, before ping exits regardless of
how many packets have been sent or received. In this case ping
does not stop after count packet are sent, it waits either for
deadline expire or until count probes are answered or for some
error notification from network.
-W timeout
Time to wait for a response, in seconds. The option affects only
timeout in absence of any responses, otherwise ping waits for
two RTTs.
Tutte buone risposte, ma fai attenzione a questa stranezza (come me) stai portando il codice tra le piattaforme. Il testo seguente è tratto dalla rispettiva documentazione "man ping".
Su Mac OS X:
-W
waittime
Tempo in millisecondi per attendere una risposta per ogni pacchetto inviato.
Su Raspberry Pi:
-W
timeout
Tempo di attesa per una risposta, in secondi .
Ho codificato sul Mac per attendere 1 secondo (1.000 ms) come -W 1000
, ma quando questo codice si è spostato sul Pi, ha aspettato fino a 1.000 secondi!
ping
eseguibile? Esistono diverse versioni di ping in giro, con diverse opzioni.