日本語 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.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
CLOSE(2) FreeBSD システムコールマニュアル CLOSE(2) 名称 close -- 記述子を削除する ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <unistd.h> int close(int fd); 解説 close() システムコールは、プロセスごとのオブジェクト参照テーブルから記述 子を削除します。これが、基本的なオブジェクトへの最後の参照であるなら、オ ブジェクトは、非アクティブにされます。例えば、ファイルの最後のクローズ で、ファイルに関連付けられている現在の seek ポインタは、失われます。 socket(2) の最後のクローズで、関連した名前情報とキューに入れられたデータ は、廃棄されます。アドバイザリ (advisory) ロックを保持しているファイルの 最後のクローズで、ロックは、解放されます (さらに、flock(2) を参照)。しか しながら、System V と IEEE Std 1003.1-1988 (``POSIX.1'') のセマンティクス は、与えられたプロセスのためのファイルに関連付けられたすべての fcntl(2) アドバイザリ (advisory) レコードロックが、そのファイルのためのあらゆる ファイル記述子がそのプロセスによってクローズされるとき、削除されることを 指示しています。 プロセスが終了するとき、すべての関連するファイル記述子は、解放されます が、プロセスごとのアクティブな記述子に制限があるので、close() システム コールは、大量のファイル記述子が操作されているとき、役に立ちます。 プロセスがフォークするとき (fork(2) を参照)、新しい子プロセスのためのすべ ての記述子は、フォークの前に親プロセスにあったそれらと同じオブジェクトを 参照します。次に、新しいプロセスが execve(2) を使用して実行されるなら、プ ロセスは、通常これらの記述子を継承します。dup2(2) で再構成するか、または execve(2) が試みられる前に、ほとんどの記述子を close() で削除することがで きますが、execve が失敗する場合、これらの記述子のいくつかが、まだ必要であ るなら、execve が成功する場合、クローズされるそれらを構成する必要がありま す。そういうわけでで、呼び出し ``fcntl(d, F_SETFD, FD_CLOEXEC)'' は、記述 子が execve に成功した後に、クローズされることを準備するように提供されて います。呼び出し ``fcntl(d, F_SETFD, 0)'' は、記述子をクローズしない、デ フォルトに戻します。 戻り値 関数 close() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno にエラーを示す値が設定されます。 エラー close() システムコールは、次の場合に失敗します: [EBADF] fd 引数がアクティブな記述子ではありません。 [EINTR] 割り込みが受け付けられました。 [ENOSPC] 基本的なオブジェクトが適合せず、キャッシュされたデータ が失われました。 [ECONNRESET] 基本的なオブジェクトが、すべての保留中 (pending) の データが配信される前にピア (相手側) によってシャットダ ウンされたストリームソケットでした。 EBADF 以外の何らかのエラーの場合に、供給されたファイル記述子は、割り付け 解放され、したがって、もはや有効ではありません。 関連項目 accept(2), closefrom(2), execve(2), fcntl(2), flock(2), open(2), pipe(2), socket(2), socketpair(2) 規格 close() システムコールは、ISO/IEC 9945-1:1990 (``POSIX.1'') に適合するは ずです。 歴史 close() 関数は、Version 7 AT&T UNIX で登場しました。 FreeBSD 11.2 September 11, 2013 FreeBSD 11.2