Message queues are one of three interprocess communication facilities added to UNIX with the release of System V. Once created, a message queue is maintained by the system. Unrelated processes, executing at different times, can use a message queue to pass information. Each message has an associated type that can be used to implement a rudimentary form of data multiplexing when multiple producers are involved. Message queues are created and accessed using the msgget system call. Messages are placed in the message queue with the msgsnd system call and retrieved from the queue with the msgrcv system call. Additional message queue manipulations are carried out with the msgctl system call. The msgctl system call returns information about the message queue, permits modification of access permissions, and allows the owner to remove the message queue facility.
Programs and Processes
Processing Environment
Using Processes
Primitive Communications
Pipes
Message Queues
Semaphores
Shared Memory
Remote Procedure Calls
Sockets
Threads
Appendix A. Using Linux Manual Pages
Appendix B. UNIX Error Messages
Appendix C. RPC Syntax Diagrams
Appendix D. Profiling Programs