ssh зависает, если удаленная машина выключена

Я хочу зарегистрировать состояние конкретного интерфейса в моей удаленной машине периодически. Следующий код делает задание.

#!/bin/bash
while [ "1" ]
do
    ifconfig usb0 &>/dev/null
    if [ "$(echo $?)" == "0" ]
    then
        sshpass -p passwd ssh -o ConnectTimeout=5 duser@10.1.1.3 ifconfig wave-data
    else
        echo "usb0 disconnected"
    fi
    sleep 0.2
done

Удаленная машина подключена через интерфейс usb0. Я хочу, чтобы этот код был устойчив. Таким образом, я тестирую его путем частого выключения и включения моей удаленной машины. Проблема состоит иногда в том, когда я выключаю машину, застрявший код, и это ничего не печатает. Я предполагаю, прерван ли ssh посреди выполнения, это застревает. Как я могу преодолеть это? Там какой-либо альтернативный путь состоит в том, чтобы выполнить команду на удаленной машине и получить вывод?спасибо.

1
задан 24 September 2015 в 07:02

0 ответов

Другие вопросы по тегам:

Похожие вопросы: