IPC::SysV - System V IPC constants and system calls
| Use Case | Command | Description |
|---|---|---|
| đ Generate a SysV IPC key | ftok(PATH, ID) | Create a key from a file path and optional ID for use with msgget, semget, shmget |
| đ Attach shared memory | shmat(ID, ADDR, FLAG) | Attach a shared memory segment to the process address space |
| đ Detach shared memory | shmdt(ADDR) | Detach a shared memory segment from the process address space |
| đ Read from shared memory | memread(ADDR, VAR, POS, SIZE) | Read bytes from a memory segment into a variable |
| âī¸ Write to shared memory | memwrite(ADDR, STRING, POS, SIZE) | Write bytes from a string into a memory segment |
use IPC::SysV qw(IPC_STAT IPC_PRIVATE);
IPC::SysV defines and conditionally exports all the constants defined in your system include files which are needed by the SysV IPC calls. Common ones include:
IPC_CREAT IPC_EXCL IPC_NOWAIT IPC_PRIVATE IPC_RMID IPC_SET IPC_STAT GETVAL SETVAL GETPID GETNCNT GETZCNT GETALL SETALL SEM_A SEM_R SEM_UNDO SHM_RDONLY SHM_RND SHMLBA
and auxiliary ones:
S_IRUSR S_IWUSR S_IRWXU S_IRGRP S_IWGRP S_IRWXG S_IROTH S_IWOTH S_IRWXO
but your system might have more.
ftok( PATH [, ID ] ) â Return a key based on PATH and ID, which can be used as a key for msgget, semget and shmget. See ftok(3). If ID is omitted, it defaults to 1. If a single character is given for ID, the numeric value of that character is used.shmat( ID, ADDR, FLAG ) â Attach the shared memory segment identified by ID to the address space of the calling process. See shmat(2). ADDR should be undef unless you really know what you're doing.shmdt( ADDR ) â Detach the shared memory segment located at the address specified by ADDR from the address space of the calling process. See shmdt(2).memread( ADDR, VAR, POS, SIZE ) â Reads SIZE bytes from a memory segment at ADDR starting at position POS. VAR must be a variable that will hold the data read. Returns true if successful, or false if there is an error. memread() taints the variable.memwrite( ADDR, STRING, POS, SIZE ) â Writes SIZE bytes from STRING to a memory segment at ADDR starting at position POS. If STRING is too long, only SIZE bytes are used; if STRING is too short, nulls are written to fill out SIZE bytes. Returns true if successful, or false if there is an error.Version 2.x, Copyright (C) 2007-2013, Marcus Holland-Moritz.
Version 1.x, Copyright (c) 1997, Graham Barr.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Generated by phpman v4.9.29 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-22 01:05 @2600:1f28:365:80b0:d8a5:c3c6:bf94:28c0
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format