日本語 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
LISTEN(2) FreeBSD システムコールマニュアル LISTEN(2) 名称 listen -- ソケットで接続を listen (接続を受け付け) する ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <sys/socket.h> int listen(int s, int backlog); 解説 接続を受け付けるために、ソケットは、socket(2) で最初に作成され、着信接続 を受け付ける意志と着信接続のためのキューの制限は、listen() で指定され、次 に接続は、accept(2) で受け付けられます。listen() システムコールは、タイプ SOCK_STREAM または SOCK_SEQPACKET のソケットにのみ適用されます。 backlog 引数は、保留中の接続のキューが成長する最大の長さを定義します。実 際の最大のキューの長さは、backlog 引数で指定された値の 1.5 倍となります。 listen (接続を受け付け) しているソケットで、続く listen() システムコール によって、呼び出し側は、新しい backlog 引数を使用して、最大のキューの長さ を変更することができます。接続要求が満杯のキューに到着するなら、クライア ントは、ECONNREFUSED の表示でエラーを受信するか、または TCP の場合に、接 続は、静かに落とされます。 listen (接続を受け付け) しているソケットの現在のキューの長さは、 netstat(1) コマンドを使用して問い合わせることができます。 FreeBSD 4.5 と syncache の導入の前に、backlog 引数は、完了する TCP の 3 ウェイハンドシェイクのプロセスの TCP ソケットを保持している、不完全な接続 キューの長さも決定することに注意してください。訳注: 3 ウェイハンドシェイ クは、TCP 通信の接続確立の過程。これらの不完全な接続は、今、キューの長さ に影響されない、完全に syncache に保持されます。サービス攻撃の拒否を扱う ことを助ける、拡張された backlog 値は、もはや必要ではありません。 sysctl(3) MIB 変数 kern.ipc.soacceptqueue は、backlog のハードリミットを 指定します。kern.ipc.soacceptqueue より大きい値、または 0 より小さい値が 指定されているなら、backlog は、黙って強制的に kern.ipc.soacceptqueue と なります。 listen (接続を受け付け) しているキューがオーバフローするなら、カーネル は、LOG_DEBUG syslog メッセージを出力します。sysctl(3) MIB 変数 kern.ipc.sooverinterval は、カーネルがこれらのメッセージを出力する頻度を ソケットごとの制限を指定します。 ACCEPT フィルタとの相互作用 accept フィルタリングがソケットで使用されるとき、2 番目のキューは、接続さ れたソケットを保持するために使用されますが、それらの accept フィルタリン グの基準を満たしていません。いったん、基準が満たされたなら、これらのソ ケットは、accept(2) (受け付け) られた完了した接続キューに移動されます。こ の 2 番目のキューが満杯で、新しい接続が到着するなら、まだ、その accept フィルタの基準を満たしていない、最も古いソケットが終了されます。 主要な listen (接続を受け付け) キューのような、この 2 番目のキューは、 backlog 引数にしたがってサイズ指定されます。 戻り値 関数 listen() は、処理が成功すると値 0 を返します。そうでない場合、値 -1 が返され、グローバル変数 errno にエラーを示す値が設定されます。 エラー listen() システムコールは、次の場合に失敗します: [EBADF] 引数 s が有効な記述子ではありません。 [EDESTADDRREQ] ソケットがローカルアドレスにバインドされていません、そ して、プロトコルが、バインドされないソケットで listen (接続を受け付け) をサポートしていません。 [EINVAL] ソケットが、既に接続されているか、または接続しつつある 過程です。 [ENOTSOCK] 引数 s が、ソケットではありません。 [EOPNOTSUPP] ソケットが、操作 listen() をサポートするタイプではあり ません。 関連項目 netstat(1), accept(2), connect(2), socket(2), sysctl(3), sysctl(8), accept_filter(9) 歴史 listen() システムコールは、4.2BSD で登場しました。実行時に最大の backlog を設定し、最大の許容可能な値を要求するための負の backlog を使用する能力 は、FreeBSD 2.2 で導入されました。kern.ipc.somaxconn sysctl(3) は、その実 際の機能に関するの混乱を防ぐために FreeBSD 10.0 の kern.ipc.soacceptqueue に置き換えられました。オリジナルの sysctl(3) kern.ipc.somaxconn は、まだ 利用可能ですが、既存のアプリケーションとスクリプトが動作し続けることがで きるように、sysctl(3) -a の出力から隠されます。 FreeBSD 13.2 April 14, 2020 FreeBSD 13.2