{
    "content": [
        {
            "type": "text",
            "text": "# sysvipc(7) (man)\n\n**Summary:** sysvipc - System V interprocess communication mechanisms\n\n## See Also\n\n- ipcmk(1)\n- ipcrm(1)\n- ipcs(1)\n- lsipc(1)\n- ipc(2)\n- msgctl(2)\n- msgget(2)\n- msgrcv(2)\n- msgsnd(2)\n- semctl(2)\n- semget(2)\n- semop(2)\n- shmat(2)\n- shmctl(2)\n- shmdt(2)\n- shmget(2)\n- ftok(3)\n- spaces(7)\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **DESCRIPTION** (3 lines) — 4 subsections\n  - Message queues (19 lines)\n  - Semaphore sets (16 lines)\n  - Shared memory segments (18 lines)\n  - IPC namespaces (3 lines)\n- **SEE ALSO** (4 lines)\n- **COLOPHON** (7 lines)\n\n## Full Content\n\n### NAME\n\nsysvipc - System V interprocess communication mechanisms\n\n### DESCRIPTION\n\nSystem V IPC is the name given to three interprocess communication mechanisms that are widely\navailable on UNIX systems: message queues, semaphore, and shared memory.\n\n#### Message queues\n\nSystem V message queues allow data to be exchanged in units called messages.   Each  messages\ncan  have an associated priority, POSIX message queues provide an alternative API for achiev‐\ning the same result; see mqoverview(7).\n\nThe System V message queue API consists of the following system calls:\n\nmsgget(2)\nCreate a new message queue or obtain the ID of an existing message queue.   This  call\nreturns an identifier that is used in the remaining APIs.\n\nmsgsnd(2)\nAdd a message to a queue.\n\nmsgrcv(2)\nRemove a message from a queue.\n\nmsgctl(2)\nPerform various control operations on a queue, including deletion.\n\n#### Semaphore sets\n\nSystem  V semaphores allow processes to synchronize their actions System V semaphores are al‐\nlocated in groups called sets; each semaphore in a set is a counting semaphore.  POSIX  sema‐\nphores provide an alternative API for achieving the same result; see semoverview(7).\n\nThe System V semaphore API consists of the following system calls:\n\nsemget(2)\nCreate a new set or obtain the ID of an existing set.  This call returns an identifier\nthat is used in the remaining APIs.\n\nsemop(2)\nPerform operations on the semaphores in a set.\n\nsemctl(2)\nPerform various control operations on a set, including deletion.\n\n#### Shared memory segments\n\nSystem V shared memory allows processes to share a region  a  memory  (a  \"segment\").   POSIX\nshared memory is an alternative API for achieving the same result; see shmoverview(7).\n\nThe System V shared memory API consists of the following system calls:\n\nshmget(2)\nCreate  a  new  segment or obtain the ID of an existing segment.  This call returns an\nidentifier that is used in the remaining APIs.\n\nshmat(2)\nAttach an existing shared memory object into the calling process's address space.\n\nshmdt(2)\nDetach a segment from the calling process's address space.\n\nshmctl(2)\nPerform various control operations on a segment, including deletion.\n\n#### IPC namespaces\n\nFor a discussion of the interaction of System V IPC objects and IPC namespaces, see ipcname‐‐\nspaces(7).\n\n### SEE ALSO\n\nipcmk(1),  ipcrm(1),  ipcs(1),  lsipc(1), ipc(2), msgctl(2), msgget(2), msgrcv(2), msgsnd(2),\nsemctl(2), semget(2), semop(2), shmat(2), shmctl(2), shmdt(2), shmget(2), ftok(3),  ipcname‐‐\nspaces(7)\n\n### COLOPHON\n\nThis  page  is  part  of  release  5.10 of the Linux man-pages project.  A description of the\nproject, information about reporting bugs, and the latest version of this page, can be  found\nat https://www.kernel.org/doc/man-pages/.\n\n\n\nLinux                                        2020-04-11                                     SVIPC(7)\n\n"
        }
    ],
    "structuredContent": {
        "command": "sysvipc",
        "section": "7",
        "mode": "man",
        "summary": "sysvipc - System V interprocess communication mechanisms",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "ipcmk",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/ipcmk/1/json"
            },
            {
                "name": "ipcrm",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/ipcrm/1/json"
            },
            {
                "name": "ipcs",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/ipcs/1/json"
            },
            {
                "name": "lsipc",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/lsipc/1/json"
            },
            {
                "name": "ipc",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/ipc/2/json"
            },
            {
                "name": "msgctl",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/msgctl/2/json"
            },
            {
                "name": "msgget",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/msgget/2/json"
            },
            {
                "name": "msgrcv",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/msgrcv/2/json"
            },
            {
                "name": "msgsnd",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/msgsnd/2/json"
            },
            {
                "name": "semctl",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/semctl/2/json"
            },
            {
                "name": "semget",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/semget/2/json"
            },
            {
                "name": "semop",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/semop/2/json"
            },
            {
                "name": "shmat",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/shmat/2/json"
            },
            {
                "name": "shmctl",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/shmctl/2/json"
            },
            {
                "name": "shmdt",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/shmdt/2/json"
            },
            {
                "name": "shmget",
                "section": "2",
                "url": "https://www.chedong.com/phpMan.php/man/shmget/2/json"
            },
            {
                "name": "ftok",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/ftok/3/json"
            },
            {
                "name": "spaces",
                "section": "7",
                "url": "https://www.chedong.com/phpMan.php/man/spaces/7/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": [
                    {
                        "name": "Message queues",
                        "lines": 19
                    },
                    {
                        "name": "Semaphore sets",
                        "lines": 16
                    },
                    {
                        "name": "Shared memory segments",
                        "lines": 18
                    },
                    {
                        "name": "IPC namespaces",
                        "lines": 3
                    }
                ]
            },
            {
                "name": "SEE ALSO",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "COLOPHON",
                "lines": 7,
                "subsections": []
            }
        ]
    }
}