LINUX.ORG.RU
решено ФорумAdmin

[чайник]какой код возвращает пинг при потере части пакетов?


0

1

man ping

If ping does not receive any reply packets at all it will exit with code 1. If a packet count and deadline are both specified, and fewer than count packets are received by the time the deadline has arrived, it will also exit with code 1. On other error it exits with code 2. Otherwise it exits with code 0. This makes it possible to use the exit code to see if a host is alive or not.

Т.е. 1 возвращается когда не пришёл ни один ответ, или если задано число пакетов и дедлайн, и приходят не все ответы. А если задано только число пакетов (ping -c 4 host) и часть потерялась, возвращается 2 или 0?

Lonli-Lokli

часть потерялась, возвращается 2 или 0?

ИМХО 0. Хотя в мане может и другое быть написано. Лучше не рассчитывать вообще на код ошибки в данном случае, ИМХО.

drBatty ★★ ()

0 если все успешно, следовательно другие коды при ошибках

pozitiffcat ★★★ ()

0

nicole:~$ uname -a
Linux nicole 2.6.26-2-686 #1 SMP Thu Nov 25 01:53:57 UTC 2010 i686 GNU/Linux
nicole:~$ ping <some_ip>
PING <some_ip> (<some_ip>) 56(84) bytes of data.
64 bytes from <some_ip>: icmp_seq=2 ttl=56 time=64.4 ms
64 bytes from <some_ip>: icmp_seq=3 ttl=56 time=65.0 ms
64 bytes from <some_ip>: icmp_seq=4 ttl=56 time=64.3 ms
64 bytes from <some_ip>: icmp_seq=5 ttl=56 time=64.1 ms
^C
--- <some_ip> ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4011ms
rtt min/avg/max/mdev = 64.150/64.510/65.045/0.374 ms
nicole:~$ echo $?
0

Возможно, зависит от последнего request-reply.

markevichus ★★★ ()

ну да, провести эксперимент - это же так сложно: пустить пинг и через пару пакетов вытащить провод

anonymous ()
Ответ на: комментарий от anonymous

С точки зрения скриптописания (чем судя по вопросу занимается автор) полезнее «убивать» icmp-echo-replay пакеты с помощью «iptables -j DROP», возможно используя -nth и -limit, чем дёргать провод.

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.