相关系统调用(系统 V)
下表列出了各种系统调用及其描述。
类别 | 系统调用 | 描述 |
---|---|---|
一般的 | 打开 () | 该系统调用要么打开一个已经存在的文件,要么创建并打开一个新文件。 |
一般的 | 创建() | 创建并打开一个新文件。 |
一般的 | 读 () | 将文件的内容读入所需的缓冲区。 |
一般的 | 写 () | 将缓冲区的内容写入文件。 |
一般的 | 关闭 () | 关闭文件描述符。 |
一般的 | 统计() | 提供有关文件的信息。 |
管道 | 管道 () | 创建用于通信的管道,该管道返回两个用于读取和写入的文件描述符。 |
命名管道或 Fifo | 马克诺德 () | 创建内存设备文件或特殊文件来创建 FIFO |
命名管道或 Fifo | mkfifo () | 创建一个新的 FIFO |
共享内存 | shmget() | 创建一个新的共享内存段或获取现有段的标识符。 |
共享内存 | 什马特 () | 附加共享内存段并使该段成为调用进程的虚拟内存的一部分。 |
共享内存 | 施密特 () | 分离共享内存段。 |
共享内存 | shmctl() | 对共享内存执行控制操作。共享内存的通用控制操作很少是删除共享内存段(IPC_RMID)、接收共享内存的信息(IPC_STAT)以及更新现有共享内存的新值(IPC_SET)。 |
消息队列 | 消息获取 () | 创建新的消息队列或访问已存在的消息队列并获取句柄或标识符以执行与消息队列相关的操作,例如向队列发送消息和从队列接收消息。 |
消息队列 | 消息 () | 使用所需的标识号将消息发送到所需的消息队列。 |
消息队列 | 消息grcv() | 从消息队列接收消息。默认情况下,这是无限等待操作,意味着调用将被阻塞,直到收到消息。 |
消息队列 | 消息控制 () | 对消息队列执行控制操作。消息队列的通用控制操作很少有删除消息队列(IPC_RMID)、接收消息队列的信息(IPC_STAT)以及更新现有消息队列的新值(IPC_SET)。 |
信号量 | 塞姆盖特 () | 创建一个新信号量或获取现有信号量的标识符。信号量用于在处理同一对象的各个 IPC 之间执行同步。 |
信号量 | 塞姆普 () | 对信号量值执行信号量操作。基本的信号量操作是获取或释放信号量上的锁。 |
信号量 | semctl() | 执行信号量的控制操作。信号量的通用控制操作很少有删除信号量(IPC_RMID)、接收信号量信息(IPC_STAT)以及更新现有信号量的新值(IPC_SET)。 |
信号 | 信号 () | 设置信号的处置(信号编号)和信号处理程序。换句话说,注册例程,该例程在发出该信号时执行。 |
信号 | 信号动作 () | 与signal()相同,设置信号的处理方式,即在收到注册信号后根据注册的信号处理程序执行某些操作。该系统调用支持对signal()进行更精细的控制,例如阻塞某些信号、调用信号处理程序后将信号动作恢复到默认状态、提供用户和系统消耗的时间、发送进程的进程id等信息。 |
内存映射 | 映射() | 将文件映射到内存中。一旦映射到内存中,访问文件就像使用地址访问数据一样容易,而且这样,调用并不像系统调用那样昂贵。 |
内存映射 | 蒙马普 () | 从内存中取消映射文件。 |