微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果文件描述符不够,可以重命名失败?

我注意到在fd泄漏期间,当文件描述符的上限达到时,重命名调用失败。 不幸的是我没有错误代码

缺less文件描述符是否可能与重命名失败有关?

据我所知,在rename()中使用了一个link()系统调用。 它需要FD吗?

使用的重命名的实现是从 glibc-2.17 sysdeps posix

我编译了这个程序:

#include <stdio.h> int main() { rename("a","a1"); }

并在可执行文件上运行strace 。 一旦初始化代码完成,所发生的只是:

rename("a","a1") = 0 exit_group(0) = ?

即没有系统调用来open新的文件描述符。

rename的失败模式清楚地列在手册页上:

http://www.manpagez.com/man/2/rename/

它没有提到太多打开的文件一个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐