
相关系统调用 (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 () | 取消映射已映射的檔案。 |
广告