- 论坛徽章:
- 0
|
曾写了一个检测程序以检测 NFS mount 的目录 是否存在?? 在异常测试中, 当断开NFS网线时, stat函数一直挂在那个地方, 查阅相关资料, 得知 mount 时参数指定不对. 遂根据资料修类似如下命令:
mount -t nfs -o timeo=10,rw,soft,retry=1,intr 135.251.208.34:/vol/vol1 /nfs
由于添加了 timeo 及 soft 与 retry 参数, 这样, 经过 (timeo + 2*timeo)/10 = 3秒后, stat函数应该会返回, 其 errno 表明 "I/O" 错误.
测试展示, 发现不稳定, 在 mount 上后的前几次操作中, stat函数 (df -k 命令也一样)等待3秒后返回了 "I/O"错误,, 但偶尔有时又挂在那里了, 最后需要等待1分钟后才返回. 由于程序对这个检测时间比较敏感, 希望将这个检测时间控制在较短范围.
1, 为什么 stat函数(df -k) 不按设置好的参数超时返回呢?
2, 能否加一个保护机制, 当 stat挂在那地方超过一时间后, 主程序能否中断 stat 操作? 怎么去中断?? 是否发一个信号?? 这个信号怎么发?? |
|