OSDN Git Service

(split) LDP: Update the version to 3.53 in PO files
[linuxjm/LDP_man-pages.git] / release / man2 / semget.2
index 536ba52..9f7795f 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright 1993 Giorgio Ciucci (giorgio@crcc.it)
 .\"
+.\" %%%LICENSE_START(VERBATIM)
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\" preserved on all copies.
@@ -19,6 +20,7 @@
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
 .\"
 .\" Modified Tue Oct 22 17:54:56 1996 by Eric S. Raymond <esr@thyrsus.com>
 .\" Modified 1 Jan 2002, Martin Schulze <joey@infodrom.org>
 .\"    Rewrote BUGS note about semget()'s failure to initialize
 .\"            semaphore values
 .\"
-.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated 2003-04-08, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2005-03-01, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2006-07-20, Akihiro MOTOKI, LDP v2.36
+.\"*******************************************************************
 .\"
-.\"WORD:       semaphore               ¥»¥Þ¥Õ¥©
-.\"WORD:       identifier              ¼±ÊÌ»Ò
-.\"WORD:       owner                   ½êÍ­¼Ô
-.\"WORD:       group                   ¥°¥ë¡¼¥×
-.\"WORD:       other                   Â¾¿Í
-.\"WORD:       effective user ID       ¼Â¸ú¥æ¡¼¥¶¡¼ ID
-.\"WORD:       effective group ID      ¼Â¸ú¥°¥ë¡¼¥× ID
-.\"WORD:       calling process         ¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹
-.\"WORD:       process                 ¥×¥í¥»¥¹
-.\"WORD:       policy                  Êý¿Ë
-.\"WORD:       structure               ¹½Â¤ÂÎ
-.\"WORD:       initialize              ½é´ü²½
-.\"WORD:       system call             ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH SEMGET 2 2004-05-27 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-semget \- ¥»¥Þ¥Õ¥©½¸¹ç¤Î¼±Ê̻Ҥò¼èÆÀ¤¹¤ë
-.SH ½ñ¼°
+.\"*******************************************************************
+.TH SEMGET 2 2012\-05\-31 Linux "Linux Programmer's Manual"
+.SH 名前
+semget \- System V セマフォ集合の識別子を取得する
+.SH 書式
 .nf
-.B #include <sys/types.h>
-.B #include <sys/ipc.h>
-.B #include <sys/sem.h>
+\fB#include <sys/types.h>\fP
+\fB#include <sys/ipc.h>\fP
+\fB#include <sys/sem.h>\fP
 .fi
 .sp
-.BI "int semget(key_t " key ,
-.BI "int " nsems ,
-.BI "int " semflg );
-.SH ÀâÌÀ
-.BR semget ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢°ú¤­¿ô
-.I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç (semaphore set) ¤Î
-¼±Ê̻Ҡ(identifier) ¤òÊÖ¤¹¡£
-.I key
-¤ÎÃͤ¬
-.B IPC_PRIVATE
-¤Î¾ì¹ç¡¢¤â¤·¤¯¤Ï
-.I semflg
-¤Ë
-.B IPC_CREAT
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤Æ¡¢
-.I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¡¢
-.I nsems
-¸Ä¤Î¥»¥Þ¥Õ¥©¤«¤é¤Ê¤ë¿·¤·¤¤½¸¹ç¤¬ºîÀ®¤µ¤ì¤ë¡£
+\fBint semget(key_t \fP\fIkey\fP\fB,\fP \fBint \fP\fInsems\fP\fB,\fP \fBint \fP\fIsemflg\fP\fB);\fP
+.SH 説明
+\fBsemget\fP()  システムコールは、引き数 \fIkey\fP に対応する System V セマフォ集合 (semaphore set) の 識別子
+(identifier) を返す。 \fIkey\fP の値が \fBIPC_PRIVATE\fP の場合、もしくは \fIsemflg\fP に
+\fBIPC_CREAT\fP が指定されていて、 \fIkey\fP に対応するセマフォ集合が存在しない場合、 \fInsems\fP
+個のセマフォからなる新しい集合が作成される。
 .PP
-.I semflg
-¤Ë
-.B IPC_CREAT
-¤È
-.B IPC_EXCL
-¤ÎξÊý¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢
-.I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬´û¤Ë¸ºß¤¹¤ë¤È¡¢
-.BR semget ()
-¤Ï¼ºÇÔ¤·¡¢
-.I errno
-¤Ë
-.B EEXIST
-¤¬ÀßÄꤵ¤ì¤ë
-(¤³¤ì¤Ï
-.BR open (2)
-¤Ë
-.B O_CREAT | O_EXCL
-¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤ÎÆ°ºî¤ÈƱ¤¸¤Ç¤¢¤ë)¡£
+\fIsemflg\fP に \fBIPC_CREAT\fP と \fBIPC_EXCL\fP の両方が指定された場合、 \fIkey\fP
+に対応するセマフォ集合が既に存在すると、 \fBsemget\fP()  は失敗し、 \fIerrno\fP に \fBEEXIST\fP が設定される (これは
+\fBopen\fP(2)  に \fBO_CREAT | O_EXCL\fP が指定された場合の動作と同じである)。
 .PP
-¥»¥Þ¥Õ¥©½¸¹çºîÀ®»þ¤Ë¡¢°ú¤­¿ô
-.I semflg
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤Ï¡¢¤½¤Î¥»¥Þ¥Õ¥©½¸¹ç¤Î (½êÍ­¼Ô (owner)¡¢¥°¥ë¡¼¥× (group)¡¢
-¾¿Í (others) ¤ËÂФ¹¤ë) ¥¢¥¯¥»¥¹µö²Ä¤ÎÄêµÁ¤È¤·¤Æ»ÈÍѤµ¤ì¤ë¡£
-¤³¤ì¤é¤Î¥Ó¥Ã¥È¤Ï
-.BR open (2)
-¤Î°ú¤­¿ô
-.I mode
-¤ÈƱ¤¸·Á¼°¤ÇƱ¤¸°ÕÌ£¤Ç¤¢¤ë
-(⤷¡¢¼Â¹Ô (execute) µö²Ä¤Ï¥»¥Þ¥Õ¥©¤Ç¤Ï°ÕÌ£¤ò»ý¤¿¤º¡¢
-½ñ¤­¹þ¤ß (write) µö²Ä¤Ï¥»¥Þ¥Õ¥©ÃͤÎÊѹ¹ (alter) µö²Ä¤È¤·¤Æµ¡Ç½¤¹¤ë)¡£
+セマフォ集合作成時に、引き数 \fIsemflg\fP の下位 9 ビットは、そのセマフォ集合の (所有者 (owner)、グループ (group)、 他人
+(others) に対する) アクセス許可の定義として使用される。 これらのビットは \fBopen\fP(2)  の引き数 \fImode\fP
+と同じ形式で同じ意味である (但し、実行 (execute) 許可はセマフォでは意味を持たず、 書き込み (write) 許可はセマフォ値の変更
+(alter) 許可として機能する)。
 .PP
-¿·¤·¤¯ºîÀ®¤µ¤ì¤¿¥»¥Þ¥Õ¥©½¸¹ç¤Î³Æ¥»¥Þ¥Õ¥©¤ÎÃͤÏÉÔÄê¤Ç¤¢¤ë
-(¤³¤ÎÅÀ¤Ï POSIX.1-2001 ¤ËÌÀµ­¤µ¤ì¤Æ¤¤¤ë)¡£
-Linux ¤Ï¾¤Î¿¤¯¤Î¼ÂÁõ¤ÈƱÍͤ˥»¥Þ¥Õ¥©Ãͤò 0 ¤Ë½é´ü²½¤¹¤ë¤¬¡¢
-°Ü¿¢À­¤ò¹Íθ¤·¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¤³¤ÎÆ°ºî¤òÁ°Äó¤Ë¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
-¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÌÀ¼¨Åª¤Ë¥»¥Þ¥Õ¥©¤ò´õ˾¤ÎÃͤǽé´ü²½¤¹¤Ù¤­¤Ç¤¢¤ë¡£
 .\" In truth, every one of the many implementations that I've tested sets
 .\" the values to zero, but I suppose there is/was some obscure
 .\" implementation out there that does not.
+新しく作成されたセマフォ集合の各セマフォの値は不定である (この点は POSIX.1\-2001 に明記されている)。 Linux
+は他の多くの実装と同様にセマフォ値を 0 に初期化するが、 移植性を考慮したアプリケーションではこの動作を前提にすべきではない。
+アプリケーションは明示的にセマフォを希望の値で初期化すべきである。
 .PP
-¿·µ¬¤Î¥»¥Þ¥Õ¥©½¸¹ç¤òºîÀ®¤¹¤ëºÝ¡¢
-.BR semget ()
-¤Ï¥»¥Þ¥Õ¥©½¸¹ç¤Î¾ðÊó¤òÊÝ»ý¤¹¤ë¥Ç¡¼¥¿¹½Â¤ÂÎ
-.I semid_ds
-¤ò¼¡¤Î¤è¤¦¤Ë½é´ü²½¤¹¤ë
-.RI ( semid_ds
-¤Ë¤Ä¤¤¤Æ¤Ï
-.BR semctl (2)
-¤ò»²¾È):
+新規のセマフォ集合を作成する際、 \fBsemget\fP()  はセマフォ集合の情報を保持するデータ構造体 \fIsemid_ds\fP を次のように初期化する
+(\fIsemid_ds\fP については \fBsemctl\fP(2)  を参照):
 .IP
-.I sem_perm.cuid
-¤È
-.I sem_perm.uid
-¤Ë¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥æ¡¼¥¶ ID ¤òÀßÄꤹ¤ë¡£
+\fIsem_perm.cuid\fP と \fIsem_perm.uid\fP に、呼び出し元のプロセスの実効 (effective) ユーザ ID を設定する。
 .IP
-.I sem_perm.cgid
-¤È
-.I sem_perm.gid
-¤Ë¡¢¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥°¥ë¡¼¥× ID ¤òÀßÄꤹ¤ë¡£
+\fIsem_perm.cgid\fP と \fIsem_perm.gid\fP に、呼び出し元のプロセスの実効 (effective) グループ ID
+を設定する。
 .IP
-.I sem_perm.mode
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤Ë
-.I semflg
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¡£
+\fIsem_perm.mode\fP の下位 9 ビットに \fIsemflg\fP の下位 9 ビットを設定する。
 .IP
-.I sem_nsems
-¤Ë
-.I nsems
-¤ÎÃͤòÀßÄꤹ¤ë¡£
+\fIsem_nsems\fP に \fInsems\fP の値を設定する。
 .IP
-.I sem_otime
-¤Ë 0 ¤òÀßÄꤹ¤ë¡£
+\fIsem_otime\fP に 0 を設定する。
 .IP
-.I sem_ctime
-¤Ë¸½ºß¤Î»þ¹ï¤òÀßÄꤹ¤ë¡£
+\fIsem_ctime\fP に現在の時刻を設定する。
 .PP
-¥»¥Þ¥Õ¥©½¸¹ç¤ÎºîÀ®¤ò¹Ô¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢°ú¤­¿ô
-.I nsems
-¤Ë (don't care ¤ò°ÕÌ£¤¹¤ë) 0 ¤ò»ØÄꤷ¤Æ¤â¤è¤¤¡£
-¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢
-.I nsems
-¤Ï 0 ¤è¤êÂ礭¤¤ÃͤǤʤ±¤ì¤Ð¤Ê¤é¤º¡¢¥»¥Þ¥Õ¥©½¸¹ç¤¢¤¿¤ê¤Î¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô
-.RB ( SEMMSL )
-°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+セマフォ集合の作成を行わない場合は、引き数 \fInsems\fP に (don't care を意味する) 0 を指定してもよい。 そうでない場合は、
+\fInsems\fP は 0 より大きい値でなければならず、セマフォ集合あたりのセマフォの最大数 (\fBSEMMSL\fP)  以下でなければならない。
 .PP
-¥»¥Þ¥Õ¥©½¸¹ç¤¬´û¤Ë¸ºß¤·¤¿¾ì¹ç¤Ï¡¢¥¢¥¯¥»¥¹µö²Ä¤Î¸¡ºº¤¬¹Ô¤ï¤ì¤ë¡£
-.\" Ç˲õ (destruction) ¥Þ¡¼¥¯¤¬¤Ê¤¤¤«¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢¥»¥Þ¥Õ¥©½¸¹ç¤Î¼±Ê̻Ҡ(ÈóÉé¤ÎÀ°¿ô) ¤¬ÊÖ¤êÃͤȤʤ롣
-¼ºÇÔ¤·¤¿¾ì¹ç¤Ï \-1 ¤¬ÊÖ¤µ¤ì¡¢
-.I errno
-¤Ë¥¨¥é¡¼¤ò¼¨¤¹Ãͤ¬ÀßÄꤵ¤ì¤ë¡£
-.SH ¥¨¥é¡¼
-¼ºÇÔ¤·¤¿¾ì¹ç¡¢
-.I errno
-¤Ë¤Ï°Ê²¼¤ÎÃͤΤ¤¤º¤ì¤«°ì¤Ä¤¬ÀßÄꤵ¤ì¤ë:
-.TP
-.B EACCES
-.I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤Ï¸ºß¤¹¤ë¤¬¡¢
-¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤Ï¤½¤Î½¸¹ç¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä¤¬¤Ê¤¯¡¢
-.B CAP_IPC_OWNER
-¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£¤â»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
-.TP
-.B EEXIST
-.I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬Â¸ºß¤·¡¢
-.I semflg
-¤Ë¤Ï
-.B IPC_CREAT
-¤È
-.B IPC_EXCL
-¤¬»ØÄꤵ¤ì¤Æ¤¤¤¿¡£
+.\" and a check is made to see if it is marked for destruction.
+セマフォ集合が既に存在した場合は、アクセス許可の検査が行われる。
+.SH 返り値
+成功した場合、セマフォ集合の識別子 (非負の整数) が返り値となる。 失敗した場合は \-1 が返され、 \fIerrno\fP にエラーを示す値が設定される。
+.SH エラー
+失敗した場合、 \fIerrno\fP には以下の値のいずれか一つが設定される:
+.TP 
+\fBEACCES\fP
+\fIkey\fP に対応するセマフォ集合は存在するが、 呼び出し元のプロセスはその集合へのアクセス許可がなく、 \fBCAP_IPC_OWNER\fP
+ケーパビリティも持っていない。
+.TP 
+\fBEEXIST\fP
 .\" .TP
 .\" .B EIDRM
-.\" ¥»¥Þ¥Õ¥©½¸¹ç¤Ëºï½ü (delete) ¥Þ¡¼¥¯¤¬¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£
-.TP
-.B EINVAL
-.I nsems
-¤¬ 0 ¤è¤ê¾®¤µ¤¤¤«¡¢¥»¥Þ¥Õ¥©½¸¹ç¤¢¤¿¤ê¤Î¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô
-.RB ( SEMMSL )
-¤è¤êÂ礭¤¤¡£
-¤Þ¤¿¤Ï¡¢
-.I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬´û¤Ë¸ºß¤·¡¢
-.I nsems
-¤¬¤½¤Î½¸¹ç¤Î¥»¥Þ¥Õ¥©¿ô¤è¤ê¤âÂ礭¤¤¡£
-.TP
-.B ENOENT
-.I key
-¤ËÂбþ¤¹¤ë¥»¥Þ¥Õ¥©½¸¹ç¤¬Â¸ºß¤»¤º¡¢
-.I semflg
-¤Ë
-.B IPC_CREAT
-¤¬»ØÄꤵ¤ì¤Æ¤â¤¤¤Ê¤¤¡£
-.TP
-.B ENOMEM
-¥»¥Þ¥Õ¥©½¸¹ç¤òºîÀ®¤·¤è¤¦¤È¤·¤¿¤¬¡¢¿·¤·¤¤¥Ç¡¼¥¿¹½Â¤ÂΤò
-ºîÀ®¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¥·¥¹¥Æ¥à¤Ë¸ºß¤·¤Ê¤¤¡£
-.TP
-.B ENOSPC
-¥»¥Þ¥Õ¥©½¸¹ç¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¤È¡¢¥·¥¹¥Æ¥à¤Î¥»¥Þ¥Õ¥©½¸¹ç¤Î
-ºÇÂç¿ô
-.RB ( SEMMNI )
-¤«¡¢¥·¥¹¥Æ¥àÁ´ÂΤΥ»¥Þ¥Õ¥©¤ÎºÇÂç¿ô
-.RB ( SEMMNS )
-¤Î¤¤¤º¤ì¤«¤òĶ¤¨¤Æ¤·¤Þ¤¦¡£
-.SH ½àµò
-SVr4, POSIX.1-2001.
-.\" SVr4 ¤Ë¤Ï¡¢ÄɲäǠEFBIG, E2BIG, EAGAIN, ERANGE, EFAULT
-.\" ¤Î¥¨¥é¡¼¾õÂ֤ˤĤ¤¤Æ¤Îµ­½Ò¤¬¤¢¤ë¡£
-.SH Ãí°Õ
-.B IPC_PRIVATE
-¤Ï¥Õ¥é¥°¡¦¥Õ¥£¡¼¥ë¥É¤Ë»ØÄꤹ¤ë¤â¤Î¤Ç¤Ï¤Ê¤¯¡¢
-.I key_t
-·¿¤Ç¤¢¤ë¡£
-¤³¤ÎÆÃÊ̤ÊÃͤ¬
-.I key
-¤Ë»ØÄꤵ¤ì¤ë¤È¡¢
-.BR semget ()
-.I semflg
-¤Î²¼°Ì 9 ¥Ó¥Ã¥È°Ê³°¤ÏÁ´¤Æ̵»ë¤·¡¢
-(À®¸ù¤·¤¿¾ì¹ç¤Ï) ¿·¤·¤¤¥»¥Þ¥Õ¥©½¸¹ç¤òºîÀ®¤¹¤ë¡£
+.\" The semaphore set is marked to be deleted.
+\fIkey\fP に対応するセマフォ集合が存在し、 \fIsemflg\fP には \fBIPC_CREAT\fP と \fBIPC_EXCL\fP が指定されていた。
+.TP 
+\fBEINVAL\fP
+\fInsems\fP が 0 より小さいか、セマフォ集合あたりのセマフォの最大数 (\fBSEMMSL\fP)  より大きい。 または、 \fIkey\fP
+に対応するセマフォ集合が既に存在し、 \fInsems\fP がその集合のセマフォ数よりも大きい。
+.TP 
+\fBENOENT\fP
+\fIkey\fP に対応するセマフォ集合が存在せず、 \fIsemflg\fP に \fBIPC_CREAT\fP が指定されてもいない。
+.TP 
+\fBENOMEM\fP
+セマフォ集合を作成しようとしたが、新しいデータ構造体を 作成するのに十分なメモリがシステムに存在しない。
+.TP 
+\fBENOSPC\fP
+セマフォ集合を作成しようとすると、システムのセマフォ集合の 最大数 (\fBSEMMNI\fP)  か、システム全体のセマフォの最大数 (\fBSEMMNS\fP)
+のいずれかを超えてしまう。
+.SH 準拠
+.\" SVr4 documents additional error conditions EFBIG, E2BIG, EAGAIN,
+.\" ERANGE, EFAULT.
+SVr4, POSIX.1\-2001.
+.SH 注意
+.\" Like Linux, the FreeBSD man pages still document
+.\" the inclusion of these header files.
+Linux や POSIX の全てのバージョンでは、 \fI<sys/types.h>\fP と \fI<sys/ipc.h>\fP
+のインクルードは必要ない。しかしながら、いくつかの古い実装ではこれらのヘッダファイルのインクルードが必要であり、 SVID
+でもこれらのインクルードをするように記載されている。このような古いシステムへの移植性を意図したアプリケーションではこれらのファイルをインクルードする必要があるかもしれない。
+
+\fBIPC_PRIVATE\fP はフラグ・フィールドに指定するものではなく、 \fIkey_t\fP 型である。 この特別な値が \fIkey\fP に指定されると、
+\fBsemget\fP()  \fIsemflg\fP の下位 9 ビット以外は全て無視し、 (成功した場合は) 新しいセマフォ集合を作成する。
 .PP
-¥»¥Þ¥Õ¥©½¸¹ç¤Î¥ê¥½¡¼¥¹¤Ë´Ø¤¹¤ëÀ©¸Â¤Î¤¦¤Á¡¢
-.BR semget ()
-¤Ë±Æ¶Á¤òµÚ¤Ü¤¹¤â¤Î¤ò°Ê²¼¤Ëµó¤²¤ë:
-.TP
-.B SEMMNI
-¥·¥¹¥Æ¥àÁ´ÂΤΥ»¥Þ¥Õ¥©½¸¹ç¤ÎºÇÂç¿ô: Êý¿Ë°Í¸
-(Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
-.I /proc/sys/kernel/sem
-¤ÎÂè4¥Õ¥£¡¼¥ë¥É¤ËÂбþ¤·¡¢Æɤ߽Ф·¤âÊѹ¹¤â¤Ç¤­¤ë)¡£
-.\" ¤³¤Î /proc ¥Õ¥¡¥¤¥ë¤Ï Linux 2.2 °ÊÁ°¤Ç¤ÏÍøÍѤǤ­¤Ê¤¤ -- MTK
-.TP
-.B SEMMSL
-semid ¤¢¤¿¤ê¤Î¥»¥Þ¥Õ¥©¤ÎºÇÂç¿ô: ¼ÂÁõ°Í¸
-(Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
-.I /proc/sys/kernel/sem
-¤ÎÂè1¥Õ¥£¡¼¥ë¥É¤ËÂбþ¤·¡¢Æɤ߽Ф·¤âÊѹ¹¤â¤Ç¤­¤ë)¡£
-.TP
-.B SEMMNS
-¥·¥¹¥Æ¥àÁ´ÂΤΥ»¥Þ¥Õ¥©¤ÎºÇÂç¿ô: Êý¿Ë°Í¸
-(Linux ¤Ç¤Ï¡¢¤³¤ÎÀ©¸ÂÃͤÏ
-.I /proc/sys/kernel/sem
-¤ÎÂè2¥Õ¥£¡¼¥ë¥É¤ËÂбþ¤·¡¢Æɤ߽Ф·¤âÊѹ¹¤â¤Ç¤­¤ë)¡£
-.B SEMMSL * SEMMNI
-¤è¤êÂ礭¤ÊÃͤϰÕÌ£¤ò»ý¤¿¤Ê¤¤¡£
-.SH ¥Ð¥°
-.B IPC_PRIVATE
-¤È¤¤¤¦Ì¾Á°¤òÁª¤ó¤À¤Î¤Ï¤ª¤½¤é¤¯¼ºÇԤǤ¢¤í¤¦¡£
-.B IPC_NEW
-¤ÎÊý¤¬¤è¤êÌÀ³Î¤Ë¤½¤Îµ¡Ç½¤òɽ¤·¤Æ¤¤¤ë¤À¤í¤¦¡£
+セマフォ集合のリソースに関する制限のうち、 \fBsemget\fP()  に影響を及ぼすものを以下に挙げる:
+.TP 
+\fBSEMMNI\fP
+.\" This /proc file is not available in Linux 2.2 and earlier -- MTK
+システム全体のセマフォ集合の最大数: 方針依存 (Linux では、この制限値は \fI/proc/sys/kernel/sem\fP
+の第4フィールドに対応し、読み出しも変更もできる)。
+.TP 
+\fBSEMMSL\fP
+semid あたりのセマフォの最大数: 実装依存 (Linux では、この制限値は \fI/proc/sys/kernel/sem\fP
+の第1フィールドに対応し、読み出しも変更もできる)。
+.TP 
+\fBSEMMNS\fP
+システム全体のセマフォの最大数: 方針依存 (Linux では、この制限値は \fI/proc/sys/kernel/sem\fP
+の第2フィールドに対応し、読み出しも変更もできる)。 \fBSEMMSL * SEMMNI\fP より大きな値は意味を持たない。
+.SH バグ
+\fBIPC_PRIVATE\fP という名前を選んだのはおそらく失敗であろう。 \fBIPC_NEW\fP の方がより明確にその機能を表しているだろう。
 .LP
-¥»¥Þ¥Õ¥©½¸¹çÆâ¤Î¥»¥Þ¥Õ¥©¤Ï
-.BR semget ()
-¤Ç¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¡£
-.\" ¼ÂºÝ¤Ï Linux ¤Ç¤Ï¥»¥Þ¥Õ¥©¤Ï 0 ¤Ë½é´ü²½¤µ¤ì¤ë¤¬¡¢
-.\" POSIX.1-2001 ¤Ç¤Ï¤³¤¦¤Ê¤ë¤³¤È¤òµ¬Äꤷ¤Æ¤¤¤ëÌõ¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢
-.\" °Ü¿¢¤ò¹Íθ¤¹¤ë¤È¤­¤Ë¤Ï¤³¤ì¤òÁ°Äó¤Ë¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
-¤³¤Î¥»¥Þ¥Õ¥©¤ò½é´ü²½¤¹¤ë¤Ë¤Ï¡¢¥»¥Þ¥Õ¥©½¸¹ç¤ËÂФ·¤Æ
-.BR semctl (2)
-¤ò»È¤Ã¤Æ
-.B SETVAL
-¤«
-.B SETALL
-Áàºî¤ò¼Â¹Ô¤¹¤ëɬÍפ¬¤¢¤ë¡£
-(Ê£¿ô²Õ½ê¤«¤é¥»¥Þ¥Õ¥©½¸¹ç¤ÎÁàºî¤¬¹Ô¤ï¤ì¤ë¾ìÌ̤Ǥϡ¢
-郎ºÇ½é¤Ë½¸¹ç¤ò½é´ü²½¤¹¤ì¤Ð¤è¤¤¤«Ê¬¤«¤é¤Ê¤¤¡£
-¤³¤Î¾õ¶·¤òÈò¤±¤ë¤Ë¤Ï¡¢
-.BR semctl (2)
-¤Î
-.B IPC_STAT
-Áàºî¤Ç¼èÆÀ¤Ç¤­¤ë¥»¥Þ¥Õ¥©¤Î¥Ç¡¼¥¿¹½Â¤ÂΤÎ
-.I sem_otime
-¤¬ 0 °Ê³°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò¥Á¥§¥Ã¥¯¤¹¤ì¤Ð¤è¤¤¡£)
-.SH ´ØÏ¢¹àÌÜ
-.BR semctl (2),
-.BR semop (2),
-.BR ftok (3),
-.BR capabilities (7),
-.BR sem_overview (7),
-.BR svipc (7)
+.\" In fact they are initialized to zero on Linux, but POSIX.1-2001
+.\" does not specify this, and we can't portably rely on it.
+セマフォ集合内のセマフォは \fBsemget\fP()  では初期化されない。 このセマフォを初期化するには、セマフォ集合に対して \fBsemctl\fP(2)
+を使って \fBSETVAL\fP か \fBSETALL\fP 操作を実行する必要がある。 (複数箇所からセマフォ集合の操作が行われる場面では、
+誰が最初に集合を初期化すればよいか分からない。 この状況を避けるには、 \fBsemctl\fP(2)  の \fBIPC_STAT\fP
+操作で取得できるセマフォのデータ構造体の \fIsem_otime\fP が 0 以外になっているかをチェックすればよい。)
+.SH 関連項目
+\fBsemctl\fP(2), \fBsemop\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7),
+\fBsem_overview\fP(7), \fBsvipc\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。