| #include <stdio.h> | 
 | #include <stdlib.h> | 
 | #include <sys/ipc.h> | 
 | #include <sys/msg.h> | 
 | // Define message queue structure | 
 | struct msg_buffer { | 
 |    long msg_type; | 
 |    char msg[100]; | 
 | } message; | 
 | main(int argc,char *argv[]) { | 
 |    key_t my_key; | 
 |    int msg_id; | 
 |    int ret; | 
 |    my_key = atoi(argv[1]); //create unique key | 
 |    msg_id = msgget(my_key, 0666 | IPC_CREAT); //create message queue and return id | 
 |    printf("Message id: %d\n", msg_id); | 
 |    ret = msgrcv(msg_id, &message, sizeof(message), 1, 0); //used to receive message | 
 |    // display the message | 
 |    printf("Received Message len is %d, message is : %s \n", ret, message.msg); | 
 |    //msgctl(msg_id, IPC_RMID, NULL); //destroy the message queue | 
 |    return 0; | 
 | } |