我正在开发一个备份工具,我收到错误:
系统中打开的文件太多
运行一段时间后。该错误由stat()
返回。
由于我实际上并没有打开任何文件(fopen()
),我的问题是,如果以下任何函数(我正在使用)占用文件描述符,如果是,我该怎么做才能发布它?
getwd()
chdir()
mkdir()
stat()
time()
答案 0 :(得分:5)
您列出的功能是安全的;他们都没有返回任何你可以“关闭”的东西。
要了解更多信息,请运行备份过程的lsof -p
+ PID命令。这将为您提供一个过程已打开的文件列表,这些文件反过来会让您了解正在发生的事情。
请参阅:lsof
manual page。