日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
DUP(2) FreeBSD システムコールマニュアル DUP(2) 名称 dup, dup2 -- 既存のファイル記述子を複製する ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <unistd.h> int dup(int oldd); int dup2(int oldd, int newd); 解説 dup() システムコールは、既存のオブジェクト記述子を複製し、その値を呼び出 しているプロセスに返します (newd = dup(oldd))。引数 oldd は、プロセスごと の記述子テーブルの小さな負でない整数インデックスです。呼び出しによって返 される新しい記述子は、現在、プロセスによって使用されていない最小の番号付 けられた記述子です。 記述子によって参照されるオブジェクトは、決して oldd と newd を区別しませ ん。したがって、newd と oldd がオープンしたファイルへの重複した参照である なら、read(2), write(2) と lseek(2) 呼び出しは、すべてファイルへの単一の ポインタを移動させ、追加モード、ノンブロッキング I/O と非同期 I/O オプ ションは、参照の間で共有されます。ファイルへの個別のポインタが要求される なら、ファイルへの異なるオブジェクトの参照は、追加の open(2) システムコー ルを発行することによって取得されなければなりません。新しいファイル記述子 の close-on-exec フラグは、未設定とされます。 dup2() では、新しい記述子 newd の値が指定されます。この記述子が既に使用中 であり、oldd != newd であるなら、記述子は、あたかも close(2) システムコー ルが使用されたかのように、最初に割り付け解放されます。oldd が有効な記述子 でないなら、newd は、クローズされません。oldd == newd であり、oldd が有効 な記述子であるなら、dup2() は、成功し、何も行いません。 戻り値 これらの呼び出しは、成功したなら、新しいファイル記述子を返します。そうで なければ、値 -1 が、返され、外部変数 errno は、エラーの原因を示す値が設定 されます。 エラー dup() システムコールは、次の場合に失敗します: [EBADF] oldd 引数が有効でアクティブな記述子ではありません。 [EMFILE] あまりにも多くの記述子がアクティブです。 dup2() システムコールは、次の場合に失敗します: [EBADF] oldd 引数が有効でアクティブな記述子でないか、または newd 引数が、負であるか、または最大の許可できる記述子 の番号を越えています。 関連項目 accept(2), close(2), fcntl(2), getdtablesize(2), open(2), pipe(2), socket(2), socketpair(2), dup3(3) 規格 dup() と dup2() システムコールは、ISO/IEC 9945-1:1990 (``POSIX.1'') に適 合するはずです。 歴史 dup() と dup2() 関数は、Version 1 AT&T UNIX で登場しました。 FreeBSD 11.4 December 1, 2017 FreeBSD 11.4