我需要检查脚本是否已挂载。 并完成最多1秒的签入时间。
我尝试过:
smbclient -L -U user%pass
-但由于重新登录,它花费了太多时间,并且在目标服务日志文件中造成了垃圾邮件
stat /mnt/samba/file
-但当samba共享脱机时卡住了
也许您中的一个会帮助您找到另一种方法来完成该任务?
目标samba使用SMB3.0协议。
致谢
答案 0 :(得分:0)
从程序设计的角度来看,这比看起来要难。 为了确定我要说的是您必须在此处创建文件或尝试读取目录。 但是linux不支持异步open system call 这也是实用程序长时间挂起的原因(我猜应该是大约2分钟,这是TCP死亡的最小超时) 因此,如果要实现此功能,则应设置一个较小的超时,尝试在目标文件夹上进行stat或open调用,并在超时到期时终止线程(或在该位置发送信号)。