相关系统调用 (System V)



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

类别 系统调用 描述
通用 open () 此系统调用要么打开已存在的檔案,要么创建并打开新的檔案。
通用 creat () 创建并打开一个新的檔案。
通用 read () 将檔案内容读取到所需的缓冲区中。
通用 write () 将缓冲区的内容写入檔案。
通用 close () 关闭檔案描述符。
通用 stat () 提供檔案信息。
管道 pipe () 创建用于通信的管道,返回两个用于读取和写入的檔案描述符。
命名管道或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)。
信号量 semget () 创建一个新的信号量或获取现有信号量的标识符。信号量用于执行在同一对象上工作的各种IPC之间的同步。
信号量 semop () 对信号量值执行信号量操作。基本的信号量操作是获取或释放信号量的锁。
信号量 semctl () 对信号量执行控制操作。信号量的一些通用控制操作包括删除信号量 (IPC_RMID)、接收信号量信息 (IPC_STAT) 和更新现有信号量的值 (IPC_SET)。
信号 signal () 设置信号(信号编号)和信号处理程序的处置方式。换句话说,注册在发出该信号时将执行的例程。
信号 sigaction () 与signal()相同,设置信号的处置方式,即在收到已注册信号后根据已注册信号处理程序执行某些操作。此系统调用支持对signal()的更精细控制,例如阻塞某些信号、在调用信号处理程序后将信号操作恢复为默认状态、提供用户和系统消耗的时间、发送进程的进程ID等信息。
内存映射 mmap () 将檔案映射到内存中。一旦映射到内存中,访问檔案就像使用地址访问数据一样容易,而且这种方式调用并不昂贵,不像系统调用那样。
内存映射 munmap () 取消映射已映射的檔案。
广告