Respostas:
De 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.
Ou seja, -w
define o tempo limite para toda a sessão do programa . Se você definir -w 30
, ping
(o programa) sairá após 30 segundos.
-W
por outro lado, define o tempo limite para um único ping . Se você definir -W 1
, essa tentativa de ping em particular expirará.
Quanto a como definir um tempo limite de ping individual de 200ms, não acredito que isso possa ser feito com iputils
'version of ping
. Você pode tentar programar diretamente com uma biblioteca ICMP.
-w
flag, mas tem a descrição. Eu apenas acreditava que pertencia a -W. Portanto, não há como definir um tempo limite menor que 1s?
-w
, -c
será ignorado. Se você precisar apenas de um único ping, poderá usar -c 1 -W 4
o tempo limite adequado para você.
Minha página de manual (Fedora 18, iputils-20121221-1.fc18) diz
-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.
Todas as boas respostas, mas esteja atento a essa peculiaridade se (como eu) estiver portando código entre plataformas. O texto abaixo é da documentação respectiva 'man ping'.
No Mac OS X:
-W
waittime
Tempo em milissegundos para aguardar uma resposta para cada pacote enviado.
No Raspberry Pi:
-W
timeout
Hora de esperar por uma resposta, em segundos .
Eu codifiquei no Mac para esperar 1 segundo (1.000 ms) -W 1000
, mas quando esse código foi movido para o Pi, ele esperou até 1.000 segundos!
ping
executável está? Existem várias versões diferentes de ping ao redor, com opções diferentes.