# sysvipc(7) - man - phpman

[SVIPC(7)](https://www.chedong.com/phpMan.php/man/SVIPC/7/markdown)                              Linux Programmer's Manual                             [SVIPC(7)](https://www.chedong.com/phpMan.php/man/SVIPC/7/markdown)



## NAME
       sysvipc - System V interprocess communication mechanisms

## 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.

### 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 achiev‐
       ing the same result; see **mq**___**[overview**(7)](https://www.chedong.com/phpMan.php/man/overview/7/markdown).

       The System V message queue API consists of the following system calls:

       [**msgget**(2)](https://www.chedong.com/phpMan.php/man/msgget/2/markdown)
              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.

       [**msgsnd**(2)](https://www.chedong.com/phpMan.php/man/msgsnd/2/markdown)
              Add a message to a queue.

       [**msgrcv**(2)](https://www.chedong.com/phpMan.php/man/msgrcv/2/markdown)
              Remove a message from a queue.

       [**msgctl**(2)](https://www.chedong.com/phpMan.php/man/msgctl/2/markdown)
              Perform various control operations on a queue, including deletion.

### Semaphore sets
       System  V semaphores allow processes to synchronize their actions System V semaphores are al‐
       located in groups called sets; each semaphore in a set is a counting semaphore.  POSIX  sema‐
       phores provide an alternative API for achieving the same result; see **sem**___**[overview**(7)](https://www.chedong.com/phpMan.php/man/overview/7/markdown).

       The System V semaphore API consists of the following system calls:

       [**semget**(2)](https://www.chedong.com/phpMan.php/man/semget/2/markdown)
              Create a new set or obtain the ID of an existing set.  This call returns an identifier
              that is used in the remaining APIs.

       [**semop**(2)](https://www.chedong.com/phpMan.php/man/semop/2/markdown)
              Perform operations on the semaphores in a set.

       [**semctl**(2)](https://www.chedong.com/phpMan.php/man/semctl/2/markdown)
              Perform various control operations on a set, including deletion.

### 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 **shm**___**[overview**(7)](https://www.chedong.com/phpMan.php/man/overview/7/markdown).

       The System V shared memory API consists of the following system calls:

       [**shmget**(2)](https://www.chedong.com/phpMan.php/man/shmget/2/markdown)
              Create  a  new  segment or obtain the ID of an existing segment.  This call returns an
              identifier that is used in the remaining APIs.

       [**shmat**(2)](https://www.chedong.com/phpMan.php/man/shmat/2/markdown)
              Attach an existing shared memory object into the calling process's address space.

       [**shmdt**(2)](https://www.chedong.com/phpMan.php/man/shmdt/2/markdown)
              Detach a segment from the calling process's address space.

       [**shmctl**(2)](https://www.chedong.com/phpMan.php/man/shmctl/2/markdown)
              Perform various control operations on a segment, including deletion.

### IPC namespaces
       For a discussion of the interaction of System V IPC objects and IPC namespaces, see **ipc**___**name**‐‐
       [**spaces**(7)](https://www.chedong.com/phpMan.php/man/spaces/7/markdown).

## SEE ALSO
       [**ipcmk**(1)](https://www.chedong.com/phpMan.php/man/ipcmk/1/markdown),  [**ipcrm**(1)](https://www.chedong.com/phpMan.php/man/ipcrm/1/markdown),  [**ipcs**(1)](https://www.chedong.com/phpMan.php/man/ipcs/1/markdown),  [**lsipc**(1)](https://www.chedong.com/phpMan.php/man/lsipc/1/markdown), [**ipc**(2)](https://www.chedong.com/phpMan.php/man/ipc/2/markdown), [**msgctl**(2)](https://www.chedong.com/phpMan.php/man/msgctl/2/markdown), [**msgget**(2)](https://www.chedong.com/phpMan.php/man/msgget/2/markdown), [**msgrcv**(2)](https://www.chedong.com/phpMan.php/man/msgrcv/2/markdown), [**msgsnd**(2)](https://www.chedong.com/phpMan.php/man/msgsnd/2/markdown),
       [**semctl**(2)](https://www.chedong.com/phpMan.php/man/semctl/2/markdown), [**semget**(2)](https://www.chedong.com/phpMan.php/man/semget/2/markdown), [**semop**(2)](https://www.chedong.com/phpMan.php/man/semop/2/markdown), [**shmat**(2)](https://www.chedong.com/phpMan.php/man/shmat/2/markdown), [**shmctl**(2)](https://www.chedong.com/phpMan.php/man/shmctl/2/markdown), [**shmdt**(2)](https://www.chedong.com/phpMan.php/man/shmdt/2/markdown), [**shmget**(2)](https://www.chedong.com/phpMan.php/man/shmget/2/markdown), [**ftok**(3)](https://www.chedong.com/phpMan.php/man/ftok/3/markdown),  **ipc**___**name**‐‐
       [**spaces**(7)](https://www.chedong.com/phpMan.php/man/spaces/7/markdown)

## COLOPHON
       This  page  is  part  of  release  5.10 of the Linux _man-pages_ project.  A description of the
       project, information about reporting bugs, and the latest version of this page, can be  found
       at <https://www.kernel.org/doc/man-pages/>.



Linux                                        2020-04-11                                     [SVIPC(7)](https://www.chedong.com/phpMan.php/man/SVIPC/7/markdown)
