开发手册 欢迎您!
软件开发者资料库

相关系统调用(系统V)

进程间通信相关系统调用(系统V) - 从基本概念到高级概念,从简单和简单的步骤学习进程间通信,其中包括概述,进程信息,进程映像,进程创建和终止,子进程监控,进程组,会话等示例和作业控制,过程资源,其他过程,覆盖过程映像,相关系统调用(系统V),系统V和Posix,管道,命名管道,共享内存,消息队列,信号量,信号,内存映射。

下表列出了各种系统调用及其描述.

Category系统调用描述
一般open()此系统调用打开现有文件或创建并打开新文件.
一般creat()创建并打开一个新文件.
一般read()将文件内容读入所需的缓冲区.
一般write()写入缓冲区的内容进入文件.
一般close()关闭文件描述符.
常规stat()提供有关文件的信息.
管道pipe()创建通信管道,返回两个文件描述符进行读写.
命名管道或Fifomknod()创建内存设备文件或特殊文件以创建FIFO
命名管道或Fifomkfifo()创建一个新的FIFO
共享内存shmget()创建新的共享内存段或获取现有内存的标识符segment.
共享内存shmat()附加共享内存段并使该段成为调用进程虚拟内存的一部分.
共享内存shmdt()分离共享内存段.
共享内存shmctl()执行共享内存的控制操作.共享内存的一般控制操作很少是删除共享内存段(IPC_RMID),接收共享内存(IPC_STAT)的信息并更新现有共享内存(IPC_SET)的新值.
消息队列msgget()创建新的消息队列或访问已存在的消息队列,并获取句柄或标识符以执行与消息队列有关的操作,例如将消息发送到队列并从队列接收消息.
消息队列msgsnd ()使用所需的标识号向所需的消息队列发送消息.
消息队列msgrcv()从消息队列接收消息.默认情况下,这是无限等待操作,意味着调用将被阻塞,直到收到消息.
消息队列msgctl()执行消息队列的控制操作.消息队列的通用控制操作很少是删除消息队列(IPC_RMID),接收消息队列(IPC_STAT)的信息并更新现有消息队列(IPC_SET)的新值.
信号量semget()创建新的信号量或获取现有信号量的标识符.信号量用于在处理同一对象的各种IPC之间执行同步.
信号量semop()对信号量值执行信号量操作.基本信号量操作是获取或释放信号量上的锁.
信号量semctl()执行信号量的控制操作.信号量的通用控制操作很少删除信号量(IPC_RMID),接收信号量(IPC_STAT)的信息并更新现有信号量的新值(IPC_SET).
信号signal()设置信号(信号编号)和信号处理程序的配置.换句话说,注册例程,该例程在该信号被引发时执行.
信号sigaction()与signal()相同,设置信号的处置,即根据注册执行某些操作收到注册信号后的信号处理程序.该系统调用支持更好地控制signal(),例如阻塞某些信号,在调用信号处理程序后将信号动作恢复到默认状态,提供诸如用户和系统的消耗时间,发送过程的进程ID等信息.
内存映射mmap ()将文件映射到内存中.一旦映射到内存中,访问文件就像使用地址访问数据一样简单,并且通过这种方式,调用并不像系统调用那样昂贵.
内存映射munmap()取消映射映射文件来自记忆.