Rechercher une page de manuel
shmctl.2freebsd
Langue: en
Version: 338354 (ubuntu - 24/10/10)
Section: 2 (Appels système)
BSD mandoc
NAME
shmctl - shared memory controlLIBRARY
Lb libcSYNOPSIS
In machine/param.h In sys/types.h In sys/ipc.h In sys/shm.h Ft int Fn shmctl int shmid int cmd struct shmid_ds *bufDESCRIPTION
Performs the action specified by Fa cmd on the shared memory segment identified by Fa shmid :- IPC_STAT
- Fetch the segment's Fa struct shmid_ds , storing it in the memory pointed to by Fa buf .
- IPC_SET
- Changes the Fa shm_perm.uid , Fa shm_perm.gid , and Fa shm_perm.mode members of the segment's Fa struct shmid_ds to match those of the struct pointed to by Fa buf . The calling process's effective uid must match either Fa shm_perm.uid or Fa shm_perm.cuid , or it must have superuser privileges.
- IPC_RMID
- Removes the segment from the system. The removal will not take effect until all processes having attached the segment have exited; however, once the IPC_RMID operation has taken place, no further processes will be allowed to attach the segment. For the operation to succeed, the calling process's effective uid must match Fa shm_perm.uid or Fa shm_perm.cuid , or the process must have superuser privileges.
The Vt shmid_ds structure is defined as follows:
struct shmid_ds { struct ipc_perm shm_perm; /* operation permission structure */ size_t shm_segsz; /* size of segment in bytes */ pid_t shm_lpid; /* process ID of last shared memory op */ pid_t shm_cpid; /* process ID of creator */ int shm_nattch; /* number of current attaches */ time_t shm_atime; /* time of last shmat() */ time_t shm_dtime; /* time of last shmdt() */ time_t shm_ctime; /* time of last change by shmctl() */ };
RETURN VALUES
Rv -std shmctlERRORS
The Fn shmctl system call will fail if:- Bq Er EINVAL
- Invalid operation, or no shared memory segment was found corresponding to Fa shmid .
- Bq Er EPERM
- The calling process's effective uid does not match the uid of the shared memory segment's owner or creator.
- Bq Er EACCES
- Permission denied due to mismatch between operation and mode of shared memory segment.
SEE ALSO
shmat(2), shmdt(2), shmget(2), ftok(3)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre