我需要在脚本中检查 mounted 是否在线。 并在最短 1 秒内完成检查。
我试过:
smbclient -L -U user%pass
- 但它需要太多时间,并且由于重新登录而在目标服务器日志文件中造成垃圾stat/mnt/samba/file
- 但当 samba 共享离线时它卡住了
也许你们中的一个人会帮助找到另一种方法来完成它?
目标 samba 使用 SMB3.0 协议(protocol)。
问候
最佳答案
从编程的角度来看,这比看起来要难。 为了确定我会说你必须在那里创建一个文件或尝试读取一个目录。 但是 linux 不支持异步 open system call 这也是实用程序长时间挂起超时的原因(我猜应该是大约 2 分钟,这是 TCP 死亡最小超时) 因此,如果您要实现这一点,您应该施加一些更小的超时,尝试在目标文件夹上进行 stat 或 open 调用,并在超时到期时终止线程(或在那里发送信号)。
关于linux - 已安装的 samba 共享 - 如何检查它是否在线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52298719/