Linux メッセージ キューの使用方法
Linuxにおけるメッセージキューは、プロセス間通信用のメカニズムで、異なるプロセス間でデータをやり取りするために使用できます。以下は、Linuxメッセージキューを使用する手順です。
- ヘッダーファイルを含めます。
- #include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h> - メッセージキューのキーを設定する:
- key_t key = ftok(“keyfile”, ‘A’);
- メッセージキューの作成:
- int msqid = msgget(key, IPC_CREAT | 0666);
- メッセージ構造体を定義します。
- 構造体message {
long mtype;
char mtext[100];
} - キューにメッセージを送信する
- struct message msg;
msg.mtype = 1;
strcpy(msg.mtext, “Hello world”);
msgsnd(msqid, &msg, sizeof(msg.mtext), 0); - メッセージキューからメッセージを受け取る:
- struct message rcv_msg;
msgrcv(msqid, &rcv_msg, sizeof(rcv_msg.mtext), 1, 0);
printf(“受け取ったメッセージ: %s\n”, rcv_msg.mtext); - メッセージキューの削除
- msgctl(msqid, IPC_RMID, NULL);
Linux メッセージキューを使用する基本的な手順を以下に示します。必要に応じて修正および拡張できます。