mirror of https://github.com/mkerrisk/man-pages
120 lines
3.8 KiB
Groff
120 lines
3.8 KiB
Groff
.\" Copyright 2020 Michael Kerrisk <mtk.manpages@gmail.com>
|
|
.\"
|
|
.\" %%%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.
|
|
.\"
|
|
.\" Permission is granted to copy and distribute modified versions of this
|
|
.\" manual under the conditions for verbatim copying, provided that the
|
|
.\" entire resulting derived work is distributed under the terms of a
|
|
.\" permission notice identical to this one.
|
|
.\"
|
|
.\" Since the Linux kernel and libraries are constantly changing, this
|
|
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
.\" responsibility for errors or omissions, or for damages resulting from
|
|
.\" the use of the information contained herein. The author(s) may not
|
|
.\" have taken the same level of care in the production of this manual,
|
|
.\" which is licensed free of charge, as they might when working
|
|
.\" professionally.
|
|
.\"
|
|
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
.\" the source, must acknowledge the copyright and authors of this work.
|
|
.\" %%%LICENSE_END
|
|
.\"
|
|
.TH SVIPC 7 2020-04-11 "Linux" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
sysvipc \- System V interprocess communication mechanisms
|
|
.SH DESCRIPTION
|
|
System V IPC is the name given to three interprocess
|
|
communication mechanisms that are widely available on UNIX systems:
|
|
message queues, semaphore, and shared memory.
|
|
.\"
|
|
.SS Message queues
|
|
System V message queues allow data to be exchanged in units called messages.
|
|
Each messages can have an associated priority,
|
|
POSIX message queues provide an alternative API for achieving the same result;
|
|
see
|
|
.BR mq_overview (7).
|
|
.PP
|
|
The System V message queue API consists of the following system calls:
|
|
.TP
|
|
.BR msgget (2)
|
|
Create a new message queue or obtain the ID of an existing message queue.
|
|
This call returns an identifier that is used in the remaining APIs.
|
|
.TP
|
|
.BR msgsnd (2)
|
|
Add a message to a queue.
|
|
.TP
|
|
.BR msgrcv (2)
|
|
Remove a message from a queue.
|
|
.TP
|
|
.BR msgctl (2)
|
|
Perform various control operations on a queue, including deletion.
|
|
.\"
|
|
.SS Semaphore sets
|
|
System V semaphores allow processes to synchronize their actions
|
|
System V semaphores are allocated in groups called sets;
|
|
each semaphore in a set is a counting semaphore.
|
|
POSIX semaphores provide an alternative API for achieving the same result;
|
|
see
|
|
.BR sem_overview (7).
|
|
.PP
|
|
The System V semaphore API consists of the following system calls:
|
|
.TP
|
|
.BR semget (2)
|
|
Create a new set or obtain the ID of an existing set.
|
|
This call returns an identifier that is used in the remaining APIs.
|
|
.TP
|
|
.BR semop (2)
|
|
Perform operations on the semaphores in a set.
|
|
.TP
|
|
.BR semctl (2)
|
|
Perform various control operations on a set, including deletion.
|
|
.\"
|
|
.SS Shared memory segments
|
|
System V shared memory allows processes to share a region a memory
|
|
(a "segment").
|
|
POSIX shared memory is an alternative API for achieving the same result; see
|
|
.BR shm_overview (7).
|
|
.PP
|
|
The System V shared memory API consists of the following system calls:
|
|
.TP
|
|
.BR shmget (2)
|
|
Create a new segment or obtain the ID of an existing segment.
|
|
This call returns an identifier that is used in the remaining APIs.
|
|
.TP
|
|
.BR shmat (2)
|
|
Attach an existing shared memory object into the calling process's
|
|
address space.
|
|
.TP
|
|
.BR shmdt (2)
|
|
Detach a segment from the calling process's address space.
|
|
.TP
|
|
.BR shmctl (2)
|
|
Perform various control operations on a segment, including deletion.
|
|
.\"
|
|
.SS IPC namespaces
|
|
For a discussion of the interaction of System V IPC objects and
|
|
IPC namespaces, see
|
|
.BR ipc_namespaces (7).
|
|
.SH SEE ALSO
|
|
.BR ipcmk (1),
|
|
.BR ipcrm (1),
|
|
.BR ipcs (1),
|
|
.BR lsipc (1),
|
|
.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),
|
|
.BR ipc_namespaces (7)
|