目录

Related System Calls (System V)

下表列出了各种系统调用及其说明。

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