OSDN Git Service

(split) LDP: Update release pages
[linuxjm/LDP_man-pages.git] / release / man7 / svipc.7
index 5ba2932..240357b 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.
 .\"
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
-.\"
-.\" Japanese Version Copyright (c) 1998 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated Wed Feb 11 21:29:14 JST 1998
-.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\"
-.\"WORD:       semaphore set           ¥»¥Þ¥Õ¥©¡¼½¸¹ç
-.\"WORD:       shared memory segment   ¶¦Í­¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È
-.\"WORD:       message queue           ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼
+.\" %%%LICENSE_END
 .\"
 .\" FIXME There is now duplication of some of the information
 .\" below in semctl.2, msgctl.2, and shmctl.2 -- MTK, Nov 04
-.TH SVIPC 7 2009-01-26 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-svipc \- System V ¥×¥í¥»¥¹´ÖÄÌ¿®µ¡¹½
-.SH ½ñ¼°
+.\"
+.\" FIXME Ultimately, there should probably be
+.\" svmq_overview(7), svshm_overview(7), and sem_overview(7)
+.\" that provide an overview of each System V IPC mechanism.
+.\" In that case:
+.\"   * Those files should add a discussion of the /proc/sysvipc
+.\"     interfaces.
+.\"   * Documentation of the various /proc interfaces should move into
+.\"     those files (from proc(5)), and references in the various *.2
+.\"     pages that refer to the /proc files should be adjusted.
+.\"   * The only part that uniquely belongs in svipc(7) is perphaps
+.\"     the discussion of ipc_perm.
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH SVIPC 7 2013\-02\-12 Linux "Linux Programmer's Manual"
+.SH 名前
+svipc \- System V プロセス間通信機構
+.SH 書式
 .nf
-.B #include <sys/types.h>
-.B #include <sys/ipc.h>
-.B #include <sys/msg.h>
-.B #include <sys/sem.h>
-.B #include <sys/shm.h>
+\fB#include <sys/msg.h>\fP
+\fB#include <sys/sem.h>\fP
+\fB#include <sys/shm.h>\fP
 .fi
-.SH ÀâÌÀ
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸¤Ï System V ¥×¥í¥»¥¹´ÖÄÌ¿®
-(interprocess communication; IPC) µ¡¹½¤Î Linux ¤Ë
-¤ª¤±¤ë¼ÂÁõ¤òÀâÌÀ¤¹¤ë¡£
-¤³¤Î¥×¥í¥»¥¹´ÖÄÌ¿®µ¡¹½¤Ë¤Ï¡¢
-¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼ (message queue)¡¢¥»¥Þ¥Õ¥©¡¼½¸¹ç (semaphore set)¡¢
-¶¦Í­¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È (shared memory segment) ¤Ê¤É¤¬¤¢¤ë¡£°Ê²¼¤Ç
-.I "»ñ¸» (resource)"
-¤È¤¤¤¦ÍѸì¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ë¤Ï¤³¤ì¤é¤Îµ¡¹½¤Î¤É¤ì¤«¤ò°ÕÌ£¤¹¤ë¡£
-.SS »ñ¸»¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä
-¥·¥¹¥Æ¥à¤Î¤½¤ì¤¾¤ì¤Î»ñ¸»¤Ï¡¢IPC ¤Ø¤ÎÁàºî¤òµö²Ä¤¹¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ë
-¤¿¤á¤Î¾ðÊó¤ò¶¦Ä̤ι½Â¤ÂÎ
-.I "struct ipc_perm"
-¤Ë³ÊǼ¤·¤Æ»ÈÍѤ¹¤ë¡£
-.I ipc_perm
-¹½Â¤ÂΤϡ¢¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤Î
-.I <sys/ipc.h>
-¤ËÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢°Ê²¼¤Î¥á¥ó¥Ð¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë:
+.SH 説明
+このマニュアルページは System V プロセス間通信 (interprocess communication; IPC) 機構の Linux に
+おける実装を説明する。 このプロセス間通信機構には、 メッセージキュー (message queue)、セマフォー集合 (semaphore set)、
+共有メモリセグメント (shared memory segment) などがある。以下で \fI資源 (resource)\fP
+という用語を使用した場合にはこれらの機構のどれかを意味する。
+.SS 資源へのアクセス許可
+システムのそれぞれの資源は、IPC への操作を許可するかどうかを決定する ための情報を共通の構造体 \fIstruct ipc_perm\fP
+に格納して使用する。 \fIipc_perm\fP 構造体には以下のメンバーが定義されている:
 .in +4n
 .nf
 
 struct ipc_perm {
-    uid_t          cuid;   /* ºîÀ®¼Ô¤Î¥æ¡¼¥¶¡¼ID */
-    gid_t          cgid;   /* ºîÀ®¼Ô¤Î¥°¥ë¡¼¥×ID */
-    uid_t          uid;    /* ½êÍ­¼Ô¤Î¥æ¡¼¥¶¡¼ID */
-    gid_t          gid;    /* ½êÍ­¼Ô¤Î¥°¥ë¡¼¥×ID */
-    unsigned short mode;   /* Æɤ߽ñ¤­¤Îµö²Ä */
+    uid_t          cuid;   /* ä½\9cæ\88\90è\80\85ã\81®ã\83¦ã\83¼ã\82¶ã\83¼ID */
+    gid_t          cgid;   /* 作成者のグループID */
+    uid_t          uid;    /* æ\89\80æ\9c\89è\80\85ã\81®ã\83¦ã\83¼ã\82¶ã\83¼ID */
+    gid_t          gid;    /* 所有者のグループID */
+    unsigned short mode;   /* 読み書きの許可 */
 };
 .fi
 .in
 .PP
-.I ipc_perm
-¹½Â¤ÂΤÎ
-.I mode
-¥á¥ó¥Ð¡¼¤Ï°Ê²¼¤Î 9 ¥Ó¥Ã¥È¤Ç¡¢¥×¥í¥»¥¹¤Î IPC ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë
-¤Ë¤è¤ë»ñ¸»¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä¤òÄêµÁ¤¹¤ë¡£
-µö²Ä¤Ï°Ê²¼¤Î¤è¤¦¤Ë²ò¼á¤µ¤ì¤ë:
+\fIipc_perm\fP 構造体の \fImode\fP メンバーは以下の 9 ビットで、プロセスの IPC システムコール
+による資源へのアクセス許可を定義する。 許可は以下のように解釈される:
 .sp
 .nf
-    0400    ¥æ¡¼¥¶¡¼¤Ë¤è¤ëÆɤ߹þ¤ß¡£
-    0200    ¥æ¡¼¥¶¡¼¤Ë¤è¤ë½ñ¤­¹þ¤ß¡£
+    0400    ユーザーによる読み込み。
+    0200    ユーザーによる書き込み。
 .sp .5
-    0040    ¥°¥ë¡¼¥×¤Ë¤è¤ëÆɤ߹þ¤ß¡£
-    0020    ¥°¥ë¡¼¥×¤Ë¤è¤ë½ñ¤­¹þ¤ß¡£
+    0040    グループによる読み込み。
+    0020    グループによる書き込み。
 .sp .5
-    0004    Â¾¿Í¤Ë¤è¤ëÆɤ߹þ¤ß¡£
-    0002    Â¾¿Í¤Ë¤è¤ë½ñ¤­¹þ¤ß¡£
+    0004    他人による読み込み。
+    0002    他人による書き込み。
 .fi
 .PP
-¥·¥¹¥Æ¥à¤Ï¥Ó¥Ã¥È 0100, 0010, 0001 (¼Â¹Ô¥Ó¥Ã¥È) ¤Ï»ÈÍѤ·¤Ê¤¤¡£
-¤µ¤é¤Ë¡¢¥»¥Þ¥Õ¥©¡¼¤Î¾ì¹ç¤Ë¤Ï
-"½ñ¤­¹þ¤ß(write)"
-¤Ï¼ÂºÝ¤Ë¤Ï
-"Êѹ¹(alter)"
-¤ò°ÕÌ£¤¹¤ë¡£
+システムはビット 0100, 0010, 0001 (実行ビット) は使用しない。 さらに、セマフォーの場合には "書き込み(write)" は実際には
+"変更(alter)" を意味する。
 .PP
-Ʊ¤¸¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤Ë¤Ï°Ê²¼¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë:
-.TP 14
-.B IPC_CREAT
-¥­¡¼(key)¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï¿·¤¿¤Ê¥¨¥ó¥È¥ê¤òºîÀ®¤¹¤ë¡£
-.TP
-.B IPC_EXCL
-¥­¡¼(key)¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ë¤Ï¼ºÇÔ¤¹¤ë¡£
-.TP
-.B IPC_NOWAIT
-Í׵᤬ÂÔ¤¿¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤Ë¤Ê¤ë¡£
-.TP
-.B IPC_PRIVATE
-¥×¥é¥¤¥Ù¡¼¥È¡¦¥­¡¼¡£
-.TP
-.B IPC_RMID
-»ñ¸»¤òºï½ü¤¹¤ë¡£
-.TP
-.B IPC_SET
-»ñ¸»¤Ë¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¡£
-.TP
-.B IPC_STAT
-»ñ¸»¤Î¥ª¥×¥·¥ç¥ó¤ò¼èÆÀ¤¹¤ë¡£
+同じヘッダーファイルには以下のシンボルの定義が含まれている:
+.TP  14
+\fBIPC_CREAT\fP
+キー(key)が存在しない場合には新たなエントリを作成する。
+.TP 
+\fBIPC_EXCL\fP
+キー(key)が存在する場合には失敗する。
+.TP 
+\fBIPC_NOWAIT\fP
+要求が待たされる場合にはエラーになる。
+.TP 
+\fBIPC_PRIVATE\fP
+プライベートキー。
+.TP 
+\fBIPC_RMID\fP
+資源を削除する。
+.TP 
+\fBIPC_SET\fP
+資源にオプションを設定する。
+.TP 
+\fBIPC_STAT\fP
+資源のオプションを取得する。
 .PP
-.B IPC_PRIVATE
-¤Ï
-.I key_t
-·¿¤Ç¤¢¤ë¡£¤½¤Î¾¤ÎÁ´¤Æ¤Î¥·¥ó¥Ü¥ë¤Ï¥Õ¥é¥°¡¦¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ
-.I int
-ÊÑ¿ô¤Ë OR ±é»»¤Ç³ÊǼ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.SS ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼
-¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ÏÀµ¤ÎÀ°¿ô
-.RI "(" msqid )
-¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¡¢
-.I <sys/msg.h>
-¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¹½Â¤ÂÎ
-.IR "struct msqid_ds"
-¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¹½Â¤ÂΤϰʲ¼¤Î¥á¥ó¥Ð¡¼¤ò´Þ¤ó¤Ç¤¤¤ë:
+\fBIPC_PRIVATE\fP は \fIkey_t\fP 型である。その他の全てのシンボルはフラグフィールドとして \fIint\fP 変数に OR
+演算で格納することができる。
+.SS メッセージキュー
+メッセージキューは正の整数 (\fImsqid\fP)  によって識別され、 \fI<sys/msg.h>\fP に定義されている構造体
+\fIstruct msqid_ds\fP に結びつけられている。 この構造体は以下のメンバーを含んでいる:
 .in +4n
 .nf
 
 struct msqid_ds {
     struct ipc_perm msg_perm;
-    msgqnum_t       msg_qnum;    /* ¥­¥å¡¼¤Ë¤¢¤ë¥á¥Ã¥»¡¼¥¸¤Î¿ô */
-    msglen_t        msg_qbytes;  /* ¥­¥å¡¼¤ÎºÇÂç¥Ð¥¤¥È¿ô */
-    pid_t           msg_lspid;   /* ºÇ¸å¤Ë msgsnd(2) ¤ò¤·¤¿ PID */
-    pid_t           msg_lrpid;   /* ºÇ¸å¤Ë msgrcv(2) ¤ò¤·¤¿ PID */
-    time_t          msg_stime;   /* ºÇ¸å¤Ë msgsnd(2) ¤ò¤·¤¿»þ´Ö */
-    time_t          msg_rtime;   /* ºÇ¸å¤Ë msgrcv(2) ¤ò¤·¤¿»þ´Ö */
-    time_t          msg_ctime;   /* ºÇ¸å¤ËÊѹ¹¤µ¤ì¤¿»þ´Ö */
+    msgqnum_t       msg_qnum;    /* キューにあるメッセージの数 */
+    msglen_t        msg_qbytes;  /* キューの最大バイト数 */
+    pid_t           msg_lspid;   /* 最後に msgsnd(2) をした PID */
+    pid_t           msg_lrpid;   /* 最後に msgrcv(2) をした PID */
+    time_t          msg_stime;   /* 最後に msgsnd(2) をした時間 */
+    time_t          msg_rtime;   /* 最後に msgrcv(2) をした時間 */
+    time_t          msg_ctime;   /* 最後に変更された時間 */
 };
 .fi
 .in
-.TP 11
-.I msg_perm
-¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä¤ò»ØÄꤹ¤ë
-.I ipc_perm
-¹½Â¤ÂΡ£
-.TP
-.I msg_qnum
-¸½ºß¡¢¤³¤Î¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Ë¤¢¤ë¥á¥Ã¥»¡¼¥¸¤Î¿ô¡£
-.TP
-.I msg_qbytes
-¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ËÆþ¤ì¤ë¤³¤È¤¬¤Ç¤­¤ë¥á¥Ã¥»¡¼¥¸¤ÎºÇÂç¥Ð¥¤¥È¿ô¡£
-.TP
-.I msg_lspid
-ºÇ¸å¤Ë
-.BR msgsnd (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¹Ô¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Î ID¡£
-.TP
-.I msg_lrpid
-ºÇ¸å¤Ë
-.BR msgrcv (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¹Ô¤Ê¤Ã¤¿¥×¥í¥»¥¹¤Î ID¡£
-.TP
-.I msg_stime
-ºÇ¸å¤Ë
-.BR msgsnd (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¹Ô¤Ê¤Ã¤¿»þ´Ö¡£
-.I msg_rtime
-ºÇ¸å¤Ë
-.BR msgrcv (2)
-¤ò¹Ô¤Ê¤Ã¤¿»þ´Ö¡£
-.TP
-.I msg_ctime
-ºÇ¸å¤Ë
-.I msqid_ds
-¹½Â¤ÂΤΥá¥ó¥Ð¡¼¤¬Êѹ¹¤µ¤ì¤¿»þ´Ö¡£
-.SS ¥»¥Þ¥Õ¥©¡¼½¸¹ç
-¥»¥Þ¥Õ¥©¡¼½¸¹ç¤ÏÀµ¤ÎÀ°¿ô
-.RI "(" semid )
-¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¡¢
-.I <sys/sem.h>
-¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¹½Â¤ÂÎ
-.IR "struct semid_ds"
-¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¹½Â¤ÂΤϰʲ¼¤Î¥á¥ó¥Ð¡¼¤ò´Þ¤ó¤Ç¤¤¤ë:
+.TP  11
+\fImsg_perm\fP
+メッセージキューへのアクセス許可を指定する \fIipc_perm\fP 構造体。
+.TP 
+\fImsg_qnum\fP
+現在、このメッセージキューにあるメッセージの数。
+.TP 
+\fImsg_qbytes\fP
+メッセージキューに入れることができるメッセージの最大バイト数。
+.TP 
+\fImsg_lspid\fP
+最後に \fBmsgsnd\fP(2)  システムコールを行なったプロセスの ID。
+.TP 
+\fImsg_lrpid\fP
+最後に \fBmsgrcv\fP(2)  システムコールを行なったプロセスの ID。
+.TP 
+\fImsg_stime\fP
+最後に \fBmsgsnd\fP(2)  システムコールを行なった時間。
+.TP 
+\fImsg_rtime\fP
+最後に \fBmsgrcv\fP(2)  を行なった時間。
+.TP 
+\fImsg_ctime\fP
+最後に \fImsqid_ds\fP 構造体のメンバーが変更された時間。
+.SS セマフォー集合
+セマフォー集合は正の整数 (\fIsemid\fP)  によって識別され、 \fI<sys/sem.h>\fP に定義されている構造体
+\fIstruct semid_ds\fP に結びつけられている。 この構造体は以下のメンバーを含んでいる:
 .in +4n
 .nf
 
 struct semid_ds {
     struct ipc_perm sem_perm;
-    time_t          sem_otime;   /* ºÇ¸å¤ËÁàºî¤·¤¿»þ´Ö */
-    time_t          sem_ctime;   /* ºÇ¸å¤ËÊѹ¹¤·¤¿»þ´Ö */
-    unsigned long   sem_nsems;   /* ½¸¹ç¤ÎÃæ¤Ë¤¢¤ë¥»¥Þ¥Õ¥©¡¼¿ô */
+    time_t          sem_otime;   /* 最後に操作した時間 */
+    time_t          sem_ctime;   /* 最後に変更した時間 */
+    unsigned long   sem_nsems;   /* 集合の中にあるセマフォー数 */
 };
 .fi
 .in
-.TP 11
-.I sem_perm
-¥»¥Þ¥Õ¥©¡¼½¸¹ç¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä¤ò»ØÄꤹ¤ë
-.I ipc_perm
-¹½Â¤ÂΡ£
-.TP
-.I sem_otime
-ºÇ¸å¤Ë
-.BR semop (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¹Ô¤Ê¤Ã¤¿»þ´Ö¡£
-.TP
-.I sem_ctime
-ºÇ¸å¤Ë
-.BR semctl (2)
-¤ò¹Ô¤Ê¤Ã¤Æ¾åµ­¤Î¹½Â¤ÂΤΥá¥ó¥Ð¡¼¤òÊѹ¹¤¹¤ë¤«¡¢¥»¥Þ¥Õ¥©¡¼½¸¹ç¤Ë°¤¹¤ë
-¥»¥Þ¥Õ¥©¡¼¤òÊѹ¹¤·¤¿»þ´Ö¡£
-.TP
-.I sem_nsems
-¥»¥Þ¥Õ¥©¡¼½¸¹ç¤ÎÃæ¤Ë¤¢¤ë¥»¥Þ¥Õ¥©¡¼¤Î¿ô¡£
-½¸¹ç¤ÎÃæ¤Ë¤¢¤ë¤½¤ì¤¾¤ì¤Î¥»¥Þ¥Õ¥©¡¼¤ÏÉé¤Ç¤Ê¤¤À°¿ô¤Ë¤è¤Ã¤Æ»²¾È¤µ¤ì¡¢
-.B 0
-¤«¤é
-.I sem_nsems\-1
-¤Þ¤Ç¤ÎÈÖ¹æ¤ò»ý¤Ä¡£
+.TP  11
+\fIsem_perm\fP
+セマフォー集合へのアクセス許可を指定する \fIipc_perm\fP 構造体。
+.TP 
+\fIsem_otime\fP
+最後に \fBsemop\fP(2)  システムコールを行なった時間。
+.TP 
+\fIsem_ctime\fP
+最後に \fBsemctl\fP(2)  を行なって上記の構造体のメンバーを変更するか、セマフォー集合に属する セマフォーを変更した時間。
+.TP 
+\fIsem_nsems\fP
+セマフォー集合の中にあるセマフォーの数。 集合の中にあるそれぞれのセマフォーは負でない整数によって参照され、 \fB0\fP から
+\fIsem_nsems\-1\fP までの番号を持つ。
 .PP
-¥»¥Þ¥Õ¥©¡¼¤Ï
-.I "struct sem"
-·¿¤Î¥Ç¡¼¥¿¹½Â¤ÂΤǤ¢¤ê¡¢°Ê²¼¤Î¥á¥ó¥Ð¡¼¤ò´Þ¤ó¤Ç¤¤¤ë:
+セマフォーは \fIstruct sem\fP 型のデータ構造体であり、以下のメンバーを含んでいる:
 .in +4n
 .nf
 
+.\"    unsigned short semncnt; /* nr awaiting semval to increase */
+.\"    unsigned short semzcnt; /* nr awaiting semval = 0 */
 struct sem {
-    int semval;  /* ¥»¥Þ¥Õ¥©¡¼¤ÎÃÍ */
-    int sempid;  /* ºÇ¸å¤ËÁàºî¤·¤¿¥×¥í¥»¥¹ ID */
-.\"    unsigned short semncnt; /* semval ¤ÎÁý²Ã¤òÂԤĿô */
-.\"    unsigned short semzcnt; /* semval = 0 ¤òÂԤĿô */
+    int semval;  /* セマフォーの値 */
+    int sempid;  /* 最後に操作したプロセス ID */
 };
 .fi
 .in
-.TP 11
-.I semval
-¥»¥Þ¥Õ¥©¡¼ÃÍ: Éé¤Ç¤Ê¤¤À°¿ô¡£
-.TP
-.I sempid
-¤³¤Î¥»¥Þ¥Õ¥©¡¼¤òºÇ¸å¤ËÁàºî¤·¤¿¥×¥í¥»¥¹¤Î ID¡£
+.TP  11
+\fIsemval\fP
+セマフォー値: 負でない整数。
+.TP 
+\fIsempid\fP
 .\".TP
 .\".I semncnt
+.\"Number of processes suspended awaiting for
 .\".I semval
-.\"¤ÎÃͤ¬Áý²Ã¤¹¤ë¤òÂԤäÆÄä»ß¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤Î¿ô¡£
+.\"to increase.
 .\".TP
 .\".I semznt
+.\"Number of processes suspended awaiting for
 .\".I semval
-.\"¤¬ 0 ¤Ë¤Ê¤ë¤Î¤òÂԤäÆÄä»ß¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤Î¿ô¡£
-.SS ¶¦Í­¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È
-¶¦Í­¥á¥â¥ê¡¦¥»¥°¥á¥È¤ÏÀµ¤ÎÀ°¿ô
-.RI "(" shmid )
-¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¡¢
-.I <sys/shm.h>
-¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë
-.IR "struct shmid_ds"
-¹½Â¤ÂΤ˷ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£
-¤³¤Î¹½Â¤ÂΤϰʲ¼¤Î¥á¥ó¥Ð¡¼¤ò´Þ¤ó¤Ç¤¤¤ë:
+.\"to become zero.
+このセマフォーを最後に操作したプロセスの ID。
+.SS 共有メモリセグメント
+共有メモリセグメントは正の整数 (\fIshmid\fP)  によって識別され、 \fI<sys/shm.h>\fP に定義されている
+\fIstruct shmid_ds\fP 構造体に結びつけられている。 この構造体は以下のメンバーを含んでいる:
 .in +4n
 .nf
 
 struct shmid_ds {
     struct ipc_perm shm_perm;
-    size_t          shm_segsz;   /* ¥»¥°¥á¥ó¥È¤Î¥µ¥¤¥º */
-    pid_t           shm_cpid;    /* ºîÀ®¼Ô¤Î¥×¥í¥»¥¹ ID */
-    pid_t           shm_lpid;    /* ºÇ¸å¤ËÁàºî¤·¤¿¥×¥í¥»¥¹ ID */
-    shmatt_t        shm_nattch;  /* ¸½ºß¡¢Éղ䷤Ƥ¤¤ë¿ô */
-    time_t          shm_atime;   /* ºÇ¸å¤ËÉղä·¤¿»þ´Ö */
-    time_t          shm_dtime;   /* ºÇ¸å¤ËʬΥ¤·¤¿»þ´Ö */
-    time_t          shm_ctime;   /* ºÇ¸å¤ËÊѹ¹¤·¤¿»þ´Ö */
+    size_t          shm_segsz;   /* ã\82»ã\82°ã\83¡ã\83³ã\83\88ã\81®ã\82µã\82¤ã\82º */
+    pid_t           shm_cpid;    /* ä½\9cæ\88\90è\80\85ã\81®ã\83\97ã\83­ã\82»ã\82¹ ID */
+    pid_t           shm_lpid;    /* æ\9c\80å¾\8cã\81«æ\93\8dä½\9cã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹ ID */
+    shmatt_t        shm_nattch;  /* 現在、付加している数 */
+    time_t          shm_atime;   /* 最後に付加した時間 */
+    time_t          shm_dtime;   /* 最後に分離した時間 */
+    time_t          shm_ctime;   /* 最後に変更した時間 */
 };
 .fi
 .in
-.TP 11
-.I shm_perm
-¶¦Í­¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä¤ò»ØÄꤷ¤¿
-.I ipc_perm
-¹½Â¤ÂΡ£
-.TP
-.I shm_segsz
-¶¦Í­¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È¤Î¥Ð¥¤¥È¿ô¡£
-.TP
-.I shm_cpid
-¶¦Í­¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È¤òºîÀ®¤·¤¿¥×¥í¥»¥¹¤Î ID¡£
-.TP
-.I shm_lpid
-ºÇ¸å¤Ë
-.BR shmat (2)
-¤Þ¤¿¤Ï
-.BR shmdt (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¼Â¹Ô¤·¤¿¥×¥í¥»¥¹¤Î ID¡£
-.TP
-.I shm_nattch
-¤³¤Î¶¦Í­¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È¤ò¥á¥â¥ê¤ËÉղà(attach) ¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤Î¿ô¡£
-.TP
-.I shm_atime
-ºÇ¸å¤Ë
-.BR shmat (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¹Ô¤Ê¤Ã¤¿»þ´Ö¡£
-.TP
-.I shm_dtime
-ºÇ¸å¤Ë
-.BR shmdt (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¹Ô¤Ê¤Ã¤¿»þ´Ö¡£
-.TP
-.I shm_ctime
-ºÇ¸å¤Ë
-.BR shmctl (2)
-¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤ò¹Ô¤Ê¤Ã¤Æ¡¢
-.I shmid_ds
-¹½Â¤ÂΤòÊѹ¹¤·¤¿»þ´Ö¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR ipc (2),
-.BR msgctl (2),
-.BR msgget (2),
-.BR msgrcv (2),
-.BR msgsnd (2),
-.BR semctl (2),
-.BR semget (2),
-.BR semop (2),
-.BR shmat (2),
-.BR shmctl (2),
-.BR shmdt (2),
-.BR shmget (2),
-.BR ftok (3)
+.TP  11
+\fIshm_perm\fP
+共有メモリセグメントへのアクセス許可を指定した \fIipc_perm\fP 構造体。
+.TP 
+\fIshm_segsz\fP
+共有メモリセグメントのバイト数。
+.TP 
+\fIshm_cpid\fP
+共有メモリセグメントを作成したプロセスの ID。
+.TP 
+\fIshm_lpid\fP
+最後に \fBshmat\fP(2)  または \fBshmdt\fP(2)  システムコールを実行したプロセスの ID。
+.TP 
+\fIshm_nattch\fP
+この共有メモリセグメントをメモリに付加 (attach) しているプロセスの数。
+.TP 
+\fIshm_atime\fP
+最後に \fBshmat\fP(2)  システムコールを行なった時間。
+.TP 
+\fIshm_dtime\fP
+最後に \fBshmdt\fP(2)  システムコールを行なった時間。
+.TP 
+\fIshm_ctime\fP
+最後に \fBshmctl\fP(2)  システムコールを行なって、 \fIshmid_ds\fP 構造体を変更した時間。
+.SH 関連項目
+\fBipcmk\fP(1), \fBipcrm\fP(1), \fBipcs\fP(1), \fBipc\fP(2), \fBmsgctl\fP(2), \fBmsgget\fP(2),
+\fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBsemctl\fP(2), \fBsemget\fP(2), \fBsemop\fP(2),
+\fBshmat\fP(2), \fBshmctl\fP(2), \fBshmdt\fP(2), \fBshmget\fP(2), \fBftok\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。