Есть ли способ быстрее пинговать в Busy Box или Tiny Core Linux?
Решение в конце этого поста.
По умолчанию время установлено на одну секунду, а в обычной версии ping для iputils есть опция для уменьшения этого числа с помощью ключа -i. Мне нужно пинговать быстрее, так как у меня есть 120 пингов в определенном тесте, который нужно запускать много раз.
Я попытался изменить источник ping.c из источника busybox, но я мало что знаю о компиляции, и я получаю сообщение об ошибке "не удалось найти libbb.h", и я не смог найти никого другого с похожей ошибкой на busybox,
Кто-нибудь знает способ для меня пинговать быстрее, чем 1 в секунду, я надеюсь, что понизится до 0,1 или 0,05 секунд, если это вообще возможно.
заранее спасибо
Решение
Если кто-то ищет ответ, решение, которое я придумал, было намного лучше. Если вы напишете скрипт для проверки связи с флагом -c 1 и сами подсчитаете количество ошибок, вы сможете выполнить проверку намного быстрее.
Пример:
fails=0
for i in `seq 1 20`
do
x=`ping -c 1 192.168.1.1 | grep received | cut -d' ' -f4`
if [ x -eq 0 ]
then
fails=$(($fails+1))
fi
done
echo $fails fails
сделанный
1 ответ
Вы правы в том, что вам нужно изменить файл ping.c. Как вы определили, BusyBox ping не поддерживает ключ -i.
Для какой платформы вы это строите? ПК, встроенная система?
Вариант 1: измените ping.c из BusyBox и перекомпилируйте BusyBox. Для этого вы должны использовать make в корне проекта BusyBox.
user @ linux: ~ / busybox-1.19.2 $ make
Вариант 2: может быть проще и проще оставить BusyBox в покое и получить ping.c из другого архива, такого как iputils. Это поддерживает ключ -i и снижается до 0,2 секунды. Чтобы скомпилировать ping.c:
user @ linux: ~ / iputils-s20101006 $ make ping