已安装的Samba共享-如何检查它是否在线

时间:2018-09-12 15:26:25

标签: linux bash mount samba

我需要检查脚本是否已挂载。 并完成最多1秒的签入时间。

我尝试过:

  1. smbclient -L -U user%pass-但由于重新登录,它花费了太多时间,并且在目标服务日志文件中造成了垃圾邮件

  2. stat /mnt/samba/file-但当samba共享脱机时卡住了

也许您中的一个会帮助您找到另一种方法来完成该任务?

目标samba使用SMB3.0协议。

致谢

1 个答案:

答案 0 :(得分:0)

从程序设计的角度来看,这比看起来要难。 为了确定我要说的是您必须在此处创建文件或尝试读取目录。 但是linux不支持异步open system call 这也是实用程序长时间挂起的原因(我猜应该是大约2分钟,这是TCP死亡的最小超时) 因此,如果要实现此功能,则应设置一个较小的超时,尝试在目标文件夹上进行stat或open调用,并在超时到期时终止线程(或在该位置发送信号)。