いくつかのテストが正常に完了した場合にのみ開始したい手順があります。
私が必要とする1つのテストは、すべての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マウントポイントをチェックします(タイムアウトによって制限されます)。オプションで(上記のコードにはありません)最初の古いマウントで壊れます。