系统中打开的文件太多而实际上没有打开任何文件

Mic*_*son 1 c macos file-descriptor

我正在开发一个备份实用程序,我收到错误:

系统中打开的文件太多

运行一段时间后.错误由返回stat().

由于我实际上没有打开任何文件(fopen()),我的问题是,如果以下任何函数(我正在使用)占用文件描述符,如果是这样,我该怎么做才能释放它?

  • getwd()
  • chdir()
  • mkdir()
  • stat()
  • time()

Aar*_*lla 5

您列出的功能是安全的; 他们都没有返回任何你可以"关闭"的东西.

要了解更多信息,请运行lsof -p备份过程的命令+ PID.这将为您提供进程已打开的文件列表,这些文件反过来将让您了解正在进行的操作.

请参阅:lsof手册页.