相關係統調用(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()

從內存中取消映射映射的文件。