Вот другой v4l2 петлевой драйвер, что я смог получить работу с Skype. драйвер v4l2loopback Затем можно использовать Gstreamer для установки для конвейерной обработки.
apt-get install gstreamer-tools
gst-launch -v v4l2src ! gstreamfiltershere ! v4l2sink device=/dev/video1
Простое решение было бы:
ping -W 1 $ip
где -W
указывает тайм-аут в секундах.
Удостоверьтесь, что это - капитал W. Можно также использовать -i
указать время ожидания в секундах.
Если ping ответов хоста затем тестирует если на строке (просто пример):
ping -c 10 $host
Если бы ping не возвращены/запрещены, я проверил бы на отдельные сервисы через nmap:
nmap $host -p $known_port --max-retries 10 | grep -q open
Например, чтобы протестировать, если ssh, как ожидают, будет открыт, замените known_port 22
что касается сценария это могло быть (пример - это - утро воскресенья, и я скучаю так, это выросло немного после некоторых редактирований - нацелен на тестирование набора хостов, не всего одного):
declare -A SERVER
# SERVER["NAME - Description"]="IP KNOWNPORT"
SERVER["SERVER1 - Client foo"]="111.111.111.111 22"
SERVER["SERVER2 - Client bar"]="222.222.222.222 80"
# ...
# add as many server/port combinations as you'd like
NMAP_MAX_RETRIES=10
printf "========================= ========================= ========== ==========\n"
printf "%25s %25s %10s %10s\n" "Host Description" "IP" "Port" "Status"
printf "========================= ========================= ========== ==========\n"
for server in "${!SERVER[@]}"; do
set -- ${SERVER["$server"]}
eval nmap \$1 -p \$2 --max-retries $NMAP_MAX_RETRIES | grep -q open
if [ "$?" == "0" ]; then
STATUS="[OK]"
else
STATUS="*DOWN*"
fi
printf "%25s %25s %10s %10s\n" "$server" "$1" "$2" "$STATUS"
done
printf "========================= ========================= ========== ==========\n"
При выполнении это возвращается (поддельный дюйм/с, таким образом, серверы снижаются):
~$ bash /tmp/foo.sh
========================= ========================= ========== ==========
Host Description IP Port Status
========================= ========================= ========== ==========
SERVER2 - Client bar 222.222.222.222 80 *DOWN*
SERVER1 - Client foo 111.111.111.111 22 *DOWN*
========================= ========================= ========== ==========