Вот простой скрипт для проверки связи по mac-адресу. Просто сохраните и запустите, например,
macping aa:bb:cc:dd:ee:ff
Вы также можете объединить результат в цепочку, чтобы условно выполнять другие действия, например:
macping aa:bb:cc:dd:ee:ff && echo do something if online || echo do something if offline
-
#!/bin/bash
network=192.168.1.1/24
if [ "$#" -ne 1 ]; then echo Usage example: $0 aa:bb:cc:dd:ee:ff; exit 2; fi;
nmap -sP $network >& /dev/null
ip=$(arp -n | grep $1 | awk ' { print $1 }')
ping $ip -n -q -c 2 -i 0.2 -w 1 >& /dev/null
if [ $? -eq 0 ]; then
echo Device is online \($ip\)
else
echo Device is offline
exit 1
fi;
Похоже, в вашей системе заканчивается свободная оперативная память и происходит подкачка. При возникновении проблемы проверьте вывод free -h
. Кроме того, программы мониторинга системы, такие как htop
и atop
, могут предоставить более широкий обзор текущей загрузки системы.