在mac os上创建临时文件时出错

时间:2011-09-29 12:31:24

标签: c++ c file-io osx-snow-leopard

Om mac OS 10.6.7,我在temp目录中创建了一些文件。过了一会儿,我开始在open syscall中失败,返回的错误是24,这意味着磁盘已满。我检查了磁盘空间,仍然有80GB可用。临时目录是否有任何限制或特殊配额?我用以下标志打开文件: open(路径,O_RDWR | O_CREAT,S_IRUSR | S_IWUSR)

此时RAM的使用率相当高(约90%),但我不认为它应该影响文件打开,特别是当它将磁盘已满时作为返回的错误。

有没有人遇到这种情况?

2 个答案:

答案 0 :(得分:3)

错误24是EMFILE意味着打开的文件太多。

答案 1 :(得分:0)

此错误代码24适用于EMFILE

表示当前进程已经打开了最大文件,因此现在无法打开更多文件。因此,如果可能的话,更改系统中每个进程的打开文件的最大限制或尝试关闭文件的时间

如果我记得那么在一个进程中一次打开的最大文件默认为20。