The shmctl() function provides a variety of shared memory control operations as specified by cmd. The permission required for a shared memory control operation
is given as {token}, where token is the type of permission needed. The types of permission are interpreted as follows:
|
00400 READ by user
00200 WRITE by user
00040 READ by group
00020 WRITE by group
00004 READ by others
00002 WRITE by others
|
See the Shared Memory Operation Permissions section of intro(2)
for more information.
The following operations require the specified tokens:
-
IPC_STAT
- Place the current value of each member of the data structure associated with shmid
into the structure pointed to by buf. The contents of this structure are defined in intro(2). {READ}
-
IPC_SET
- Set the value of the following members of the data structure associated with shmid to the corresponding value
found in the structure pointed to by buf:
|
shm_perm.uid
shm_perm.gid
shm_perm.mode /* access permission bits only */
|
This command can be executed only by a process that has an effective user ID equal to that of super-user,
or to the value of shm_perm.cuid or shm_perm.uid in the data structure associated with shmid.
-
IPC_RMID
- Remove the shared memory identifier specified by shmid from the system and destroy the shared memory segment
and data structure associated with it. This command can be executed only by a process that has an effective user ID equal to that of super-user, or to the value of shm_perm.cuid or shm_perm.uid in the data structure associated with shmid.
-
SHM_LOCK
- Lock the shared memory segment specified by shmid in memory. This command can be executed only by a process that
has an effective user ID equal to super-user.
-
SHM_UNLOCK
- Unlock the shared memory segment specified by shmid. This command can be executed only by a process that has
an effective user ID equal to super-user.
Shared memory segments must be explicitly removed after the last reference to them has been removed.
|