2

为了创建一个守护进程,我在某处读到了为了关闭所有打开的文件描述符,我们可以使用以下代码:-

for (fd = 0; fd < _NFILE; fd++)
  close(fd); /* close all file descriptors */

我必须将 _NFILE 定义为

#define _NFILE 3

还是已经在某些包含文件中定义?我试图在 /usr/include 目录中对其进行 grep,但找不到任何东西。

4

2 回答 2

2

_NFILE仅适用于原始 Unix。执行此操作的可移植方法是sysconf(_SC_OPEN_MAX)(POSIX)。

于 2012-04-06T17:35:07.737 回答
1

这个 stdio.h

  • _NFILE 的值在处理器特定 ABI 中定义。价值
  • 选择是出于历史原因,而不是真正与处理器相关
  • 属性。请注意,SPARC 处理器特定 ABI 使用常见的
  • UNIX 历史值为 20 [...]。

然后继续根据机器架构定义一些值

于 2012-04-06T17:35:59.407 回答