![]() |
1
6
这种情况在我们的系统上经常发生,特别是从Win98机器连接到Samba时。我们按照以下步骤来解决它(可能与您的类似):
我希望有更好的办法! |
![]() |
2
2
我正在创建一个新的答案,因为我的第一个答案实际上只包含了更多的问题,而且真的没有多少帮助。 在做了一点搜索之后,我还没有找到任何最新版本Samba的当前开放bug,请查看 the Samba Bug Report 网站,并创建一个新的错误。这是一种最简单的方法,可以让某人就如何可能修复它提出建议,并让开发人员研究这个问题。LuckyLindy在我之前的回答中留下了一条评论,说这是5年来的方式,项目是开源的,通过报告或提供补丁来修复错误的最好方式。
我还发现了一个邮件列表条目:
Samba Open files
,他们建议加上
我已经提到的解决方法是定期重新启动samba作为解决方法。我知道这不是一个解决方案,但它可能暂时起作用。 |
![]() |
3
1
这里的答案可能是: How to close a file descriptor from another process in unix systems 据猜测,“netrpcfileclose”可能不起作用,因为告诉Samba关闭文件的进程间通信在您要关闭的文件被读取之前不会被查看。 |
![]() |
4
0
如果samba中没有显式选项,则无法使用标准unix接口从外部关闭打开的文件描述符。 |
![]() |
5
0
一般来说,您不能从外部干预进程文件描述符。但作为root用户,您当然可以这样做,正如您在1997年的phrack文章中所看到的: http://www.phrack.org/issues.html?issue=51&id=5#article -但我不建议在生产系统上这样做。。。 |
![]() |
6
0
在这种情况下,更好的问题是为什么?为什么要提前关闭文件?关闭文件的最终目的是什么?你想完成什么? |
![]() |
7
0
Samba提供了查看和关闭打开文件的命令。
net rpc文件-U 阿达明 % 暗语 阿达明 具有Windows AD域管理员的凭据。这将为您提供一个文件id、打开它的用户的用户名、锁定状态和文件名。您经常希望通过grep管道过滤结果。 找到要关闭的文件后,复制其文件id号并使用以下命令: net rpc文件关闭 文件ID 阿达明 % |
![]() |
8
0
我需要完成类似的工作,以便能够轻松卸载碰巧共享的设备。我写了这个快速bash脚本:
任何与该参数匹配的路径(通过grep)都是封闭的,因此您应该非常具体地使用它。(只有通过samba打开的文件会受到影响。)显然,您需要root用户来关闭其他用户打开的文件,但对于您打开的文件,它可以正常工作。请注意,与任何其他强制关闭文件一样,可能会发生数据损坏。只要文件处于非活动状态,就应该可以了。 这很难看,但对于我的用例(关闭整个装载点)来说,它已经足够好了。 |