SVIPC - Linux手册页

时间:2019-08-20 18:02:02  来源:igfitidea点击:

Linux程序员手册 第7部分
更新日期: 2020-04-11

名称

sysvipc-系统V进程间通信机制

说明

System V IPC是在UNIX系统上广泛使用的三种进程间通信机制的名称:消息队列,信号量和共享内存。

Message queues

System V消息队列允许以称为消息的单元交换数据。每个消息都可以具有关联的优先级,POSIX消息队列提供了实现相同结果的备用API。参见mq_overview(7)。

System V消息队列API由以下系统调用组成:

msgget(2)
创建一个新的消息队列或获取现有消息队列的ID。该调用返回在其余API中使用的标识符。
msgsnd(2)
将消息添加到队列。
msgrcv(2)
从队列中删除消息。
msgctl(2)
对队列执行各种控制操作,包括删除。

Semaphore sets

System V信号量允许进程同步其动作System V信号量以称为集合的组进行分配;一组中的每个信号量都是一个计数信号量。 POSIX信号量提供了实现相同结果的替代API。参见sem_overview(7)。

System V信号量API包含以下系统调用:

semget(2)
创建一个新集或获取现有集的ID。该调用返回在其余API中使用的标识符。
semop(2)
对集合中的信号量执行操作。
semctl(2)
对集合执行各种控制操作,包括删除。

Shared memory segments

系统V共享内存允许进程共享内存区域("段")。 POSIX共享内存是实现相同结果的替代API。参见shm_overview(7)。

System V共享内存API由以下系统调用组成:

shmget(2)
创建一个新的细分或获取现有细分的ID。该调用返回在其余API中使用的标识符。
shmat(2)
将现有的共享内存对象附加到调用进程的地址空间中。
shmdt(2)
从调用进程的地址空间中分离一个段。
shmctl(2)
对网段执行各种控制操作,包括删除。

IPC namespaces

有关System V IPC对象和IPC名称空间的交互的讨论,请参见ipc_namespaces(7)。

另外参见

ipcmk(1),ipcrm(1),ipcs(1),lsipc(1),ipc(2),msgctl(2),msgget(2),msgrcv(2),msgsnd(2),semctl(2), semget(2),semop(2),shmat(2),shmctl(2),shmdt(2),shmget(2),ftok(3),ipc_namespaces(7)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/