JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... int msgflg ); 説明 The msgget () system call returns the System V message queue identifier associated with the value of the key argument. It may be used ... ューが作成される。 msgflg に IPC_CREAT と IPC_EXCL の両方が指定された場合、 key に対応するメッセージキューが既に存在すると、 msgget () は失敗し、 errno に EEXIST が設定される。 (これは open (2) に O_CREAT | O_EXCL を指定した場合の動作と同じである) メッセ ... パラメーターと同じ形式で、同じ意味を持つ。 (但し、実行 (execute) 許可は使用されない。) 新規のメッセージキューを作成する際、 msgget () システムコールはメッセージキューのデータ構造体 msqid_ds を以下のように初期化する ( msqid_ds については msgctl (2) を参照 ... ... ntity) と、 proj_id (0 であってはならない) の低位 8 ビットとを用いて、 key_t 型の System V IPC キーを生成する。 このキーは msgget (2), semget (2), shmget (2) などでの利用に適している。 同じファイルを示すあらゆるパス名と、同じ proj_id に対しては、結果の ... い。 例えば /dev/hda1 と /dev/sda1 それぞれにあるファイルに対して、衝突は容易に起こりうる。 例 semget (2) を参照。 関連項目 msgget (2), semget (2), shmget (2), stat (2), sysvipc (7) この文書について この man ページは Linux man-pages プロジェクトのリリー ... ... 造体は以下のように定義されている (強調されたフィールドは IPC_SET を使って設定可能である): struct ipc_perm { key_t __key; /* msgget (2) に与えるキー */ uid_t uid ; /* 所有者の実効 UID */ gid_t gid ; /* 所有者の実効 GID */ uid_t cuid; /* 作成者の実効 UID ... int msgmax; /* 一つのメッセージに書き込み可能な 最大バイト数 */ int msgmnb; /* 一つのキューに書き込み可能な最大バイト数; ( msgget (2) での) キュー作成中の msg_qbytes の初期化に使用される */ int msgmni; /* メッセージキューの数の最大値 */ int msgssz; /* ... パイルすれば十分である。 (カーネルは新しい形式の呼び出しと古い形式の呼び出しを cmd 内の IPC_64 フラグで区別する。) 関連項目 msgget (2), msgrcv (2), msgsnd (2), capabilities (7), mq_overview (7), sysvipc (7) この文書について この man ページは Linux man-p ... ... は、その代わりに msgctl (2), semctl (2), shmctl (2) などが独立したシステムコールとして実装されている。 関連項目 msgctl (2), msgget (2), msgrcv (2), msgsnd (2), semctl (2), semget (2), semop (2), semtimedop (2), shmat (2), shmctl (2), shmdt (2), shmget ( ... ... lt: usage(argv[0], "Unrecognized option\n"); } } if (mode == 0) usage(argv[0], "must use either -s or -r option\n"); qid = msgget(msgkey, IPC_CREAT | 0666); if (qid == -1) { perror("msgget"); exit(EXIT_FAILURE); } if (mode == 2) get_msg(qid, msgtype); ... else send_msg(qid, msgtype); exit(EXIT_SUCCESS); } 関連項目 msgctl (2), msgget (2), capabilities (7), mq_overview (7), sysvipc (7) この文書について この man ページは Linux man-pages プロジェクトのリリー ... ... lt: usage(argv[0], "Unrecognized option\n"); } } if (mode == 0) usage(argv[0], "must use either -s or -r option\n"); qid = msgget(msgkey, IPC_CREAT | 0666); if (qid == -1) { perror("msgget"); exit(EXIT_FAILURE); } if (mode == 2) get_msg(qid, msgtype); ... else send_msg(qid, msgtype); exit(EXIT_SUCCESS); } 関連項目 msgctl (2), msgget (2), capabilities (7), mq_overview (7), sysvipc (7) この文書について この man ページは Linux man-pages プロジェクトのリリー ... ... lt: usage(argv[0], "Unrecognized option\n"); } } if (mode == 0) usage(argv[0], "must use either -s or -r option\n"); qid = msgget(msgkey, IPC_CREAT | 0666); if (qid == -1) { perror("msgget"); exit(EXIT_FAILURE); } if (mode == 2) get_msg(qid, msgtype); ... else send_msg(qid, msgtype); exit(EXIT_SUCCESS); } 関連項目 msgctl (2), msgget (2), capabilities (7), mq_overview (7), sysvipc (7) この文書について この man ページは Linux man-pages プロジェクトのリリー ... ... FIFO ( mkfifo (3))、 UNIX ドメインソケット ( unix (7)) に設定される許可にも影響を与える。 一方、umask は、そのプロセスが ( msgget (2), semget (2), shmget (2) を使って) 生成する System V IPC オブジェクトに設定される許可には 影響を与えない。 関連項目 chm ... ... きる。 この API は System V メッセージキューの API ( msgget (2), msgsnd (2), msgrcv (2) など) とは異なるものだが、同様の機能を提供する。 メッセージキューの作成とオープンは mq_open (3 ... ージキューオブジェクトと IPC 名前空間の相互の影響に関する議論は ipc_namespaces (7) を参照。 注意 System V メッセージキュー ( msgget (2), msgsnd (2), msgrcv (2) など) はプロセス間でメッセージをやり取りするための古い API である。 POSIX メッセージキューは S ... ... をユーザ空間で実行する。 ユーザ空間からこのキューへのアクセスは、 以下の操作でキューをオープンすることによって行える: qid = msgget(IPC_PRIVATE, 0600 | IPC_KERNELD); 各タスクはメッセージタイプを使ってリクエストする。 これは < linux/kerneld.h > で指定され ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。