getdtablesize -
ファイルディスクリプターテーブルのサイズを取得する
#include <unistd.h>
int getdtablesize(void);
getdtablesize():
- glibc 2.12 以降:
-
/* Glibc 2.19 以降: */ _DEFAULT_SOURCE
|| /* glibc 2.19 以前: */ _BSD_SOURCE
|| ! (_POSIX_C_SOURCE >= 200112L)
- glibc 2.12 より前:
-
_BSD_SOURCE || _XOPEN_SOURCE >= 500
getdtablesize() は 1
つのプロセスのオープンできるファイル数の最大値を返す。
返り値はファイルディスクリプターの取り得る最大値より
1 大きい値である。
プロセス毎にオープンできるファイル数の現在の制限値。
Linux では、
getdtablesize() は
getrlimit(2)
で説明されているエラーを返すことがある。
下記の「注意」を参照のこと。
この節で使用されている用語の説明については、
attributes(7) を参照。
インターフェース |
属性 |
値 |
getdtablesize() |
Thread safety |
MT-Safe |
SVr4, 4.4BSD (
getdtablesize() 関数は 4.2BSD
で最初に現われた)。
これは POSIX.1
で規定されていないので、
移植性のあるアプリケーションはこの呼び出しの代わりに
sysconf(_SC_OPEN_MAX)
を使うべきである。
glibc 版の
getdtablesize() は、
getrlimit(2)
を呼び出して、現在の
RLIMIT_NOFILE を返す。
呼び出しに失敗した場合は
OPEN_MAX を返す。
close(2),
dup(2),
getrlimit(2),
open(2)
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。