У меня есть процедура, которую я хочу запустить только в случае успешного завершения нескольких тестов.
Один тест, который мне нужен, заключается в том, что все мои крепления NFS живы и исправны.
Могу ли я добиться большего успеха, чем метод грубой силы:
mount | sed -n "s/^.* on \(.*\) type nfs .*$/\1/p" |
while read mount_point ; do
timeout 10 ls $mount_point >& /dev/null || echo "stale $mount_point" ;
done
Здесь timeout
- это утилита, которая будет запускать команду в фоновом режиме и уничтожать ее через определенное время, если до истечения времени не было обнаружено SIGCHLD
, возвращая успех / неудачу очевидным образом.
На английском языке: проанализировать вывод mount
, проверить (ограниченный тайм-аут) каждую точку монтирования NFS. Необязательно (не в приведенном выше коде) разрыв первого монтированного монтирования.