日本語 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
SEM_OPEN(3) FreeBSD ライブラリ関数マニュアル SEM_OPEN(3) 名称 sem_open, sem_close, sem_unlink -- 名前付きセマフォ操作 ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <semaphore.h> sem_t * sem_open(const char *name, int oflag, ...); int sem_close(sem_t *sem); int sem_unlink(const char *name); 解説 sem_open() 関数は、name によって指定された名前付きセマフォを作成するか オープンします。返されたセマフォは、その後の sem_getvalue(3), sem_wait(3), sem_trywait(3), sem_post(3) と sem_close() 呼び出しで使用さ れます。 この実装は、name の値を要求します: それは、スラッシュ (`/') で始まり、他 のスラッシュ文字を含んではいけません。 次のビットは、oflag 引数で設定されます: O_CREAT 存在しないなら、セマフォを作成します。 sem_open() への呼び出しの 3 つ目の引数は、タイプ mode_t でセマ フォのためのモードを指定しなければなりません。S_IWUSR, S_IWGRP, と S_IWOTH ビットだけが調べられます。セマフォで ``read'' パー ミッションのみ与えるということはできません。プロセスのファイル作 成マスクに従ってモードは変更されます。umask(2) を参照。 4 つ目の引数は、unsigned int でセマフォのために初期値を指定しな ければなりません。そして、SEM_VALUE_MAX より大きくなってはいけま せん。 O_EXCL 存在しないなら、セマフォを作成します。セマフォが既に存在している なら、sem_open() は、失敗します。また、O_CREAT が指定されていな ければ、このフラグは、無視されます。 sem_close() 関数は、sem_open() の呼び出しによってオープンされた名前付きセ マフォをクローズします。 sem_unlink() 関数は、name で指定されたセマフォを削除します。セマフォのた めに割り付けられたリソースは、すべてのプロセスがそれをオープンクローズす るセマフォがあるときのみ、割り付けを解放します。 戻り値 成功するなら、sem_open() 関数は、オープンされたセマフォのアドレスを返しま す。同じ name 引数が sem_close() への呼び出しの邪魔が入ることなしに同じプ ロセスによって sem_open() への複数の呼び出しによって与えられるなら、その 都度、同じアドレスが返されます。セマフォがオープンできないなら、 sem_open() は、SEM_FAILED を返し、グローバル変数 errno にエラーを示す値が 設定されます。 関数 sem_close() および sem_unlink() は、処理が成功すると値 0 を返しま す。そうでない場合、値 -1 が返され、グローバル変数 errno にエラーを示す値 が設定されます。 エラー sem_open() 関数は、次の場合に失敗します: [EACCES] セマフォは、存在し、それが作成されたとき oflag によっ て指定されたパーミッションは、このプロセスへのアクセス を拒絶しました。 [EACCES] セマフォは、存在していませんが、それを作成するパーミッ ションは、拒絶されました。 [EEXIST] O_CREAT と O_EXCL は、設定されましたが、セマフォは、既 に存在しています。 [EINTR] 呼び出しは、シグナルによって割り込まれました。 [EINVAL] sem_open() 操作は、与えられた name ではサポートされま せん。 [EINVAL] value 引数は、SEM_VALUE_MAX より大きいです。 [ENAMETOOLONG] name 引数が長過ぎます。 [ENFILE] セマフォでのシステム制限に達しました。 [ENOENT] O_CREAT は、設定されていませんが、指定されたセマフォ は、存在していません。 [ENOSPC] セマフォを作成するための空間がありません。 sem_close() 関数は、次の場合に失敗します: [EINVAL] sem 引数は、有効なセマフォではありません。 sem_unlink() 関数は、次の場合に失敗します: [EACCES] セマフォを削除 (unlink) するためにパーミッションは、拒 絶されました。 [ENAMETOOLONG] 指定された name は、長過ぎます。 [ENOENT] 指定されたセマフォは、存在していません。 関連項目 close(2), open(2), umask(2), unlink(2), sem_getvalue(3), sem_post(3), sem_trywait(3), sem_wait(3) 規格 sem_open(), sem_close() と sem_unlink() 関数は、ISO/IEC 9945-1:1996 (``POSIX.1'') に適合しています。 歴史 名前付きセマフォのサポートは、FreeBSD 5.0 ではじめて登場しました。 FreeBSD 11.2 January 9, 2010 FreeBSD 11.2