Linux 核心/系統呼叫
Linux 核心系統呼叫由 glibc 匯出,都在一張紙上
Obsolete: ipc, sgetmask, ssetmask, sysfs
accept, accept4 - 接受套接字上的連線
access, faccessat - 檢查使用者對檔案的許可權
acct - 開啟或關閉程序記賬
add_key - 向核心的金鑰管理設施新增金鑰
adjtimex, ntp_adjtime - 調整核心時鐘
afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, gtty, isastream, lock, madvise1, mpx, prof, profil, putmsg, putpmsg, security, stty, tuxcall, ulimit, vserver - 未實現的系統呼叫
alarm - 設定一個鬧鐘以傳送訊號
alloc_hugepages, free_hugepages - 分配或釋放巨型頁面
arch_prctl - 設定特定於體系結構的執行緒狀態
bdflush - 啟動、重新整理或調整緩衝區髒資料重新整理守護程序
bind - 將名稱繫結到套接字
bpf - 對擴充套件的 BPF 對映或程式執行命令
brk, sbrk - 更改資料段大小
cacheflush - 重新整理指令和/或資料快取的內容
capget, capset - 設定/獲取執行緒的許可權
chdir, fchdir - 更改工作目錄
chmod, fchmod, fchmodat - 更改檔案的許可權
chown, fchown, lchown, fchownat - 更改檔案的擁有者
chroot - 更改根目錄
clock_getres, clock_gettime, clock_settime - 時鐘和時間函式
clock_nanosleep - 高解析度睡眠,可指定時鐘
clone, __clone2 - 建立子程序
close - 關閉檔案描述符
connect - 在套接字上發起連線
copy_file_range - 從一個檔案複製一段資料到另一個檔案
create_module - 建立一個可載入模組條目
delete_module - 解除安裝核心模組
dup, dup2, dup3 - 複製檔案描述符
epoll_create, epoll_create1 - 開啟一個 epoll 檔案描述符
epoll_ctl - epoll 檔案描述符的控制介面
epoll_wait, epoll_pwait - 等待 epoll 檔案描述符上的 I/O 事件
eventfd - 建立一個用於事件通知的檔案描述符
execveat - 相對於目錄檔案描述符執行程式
execve - 執行程式
_exit, _Exit - 終止呼叫程序
exit_group - 退出程序中的所有執行緒
fallocate - 操作檔案空間
fanotify_init - 建立和初始化 fanotify 組
fanotify_mark - 在檔案系統物件上新增、刪除或修改 fanotify 標記
fcntl - 操作檔案描述符
flock - 對開啟的檔案應用或刪除建議鎖
fork - 建立子程序
fsync, fdatasync - 將檔案的記憶體狀態與儲存裝置同步
futex - 快速使用者空間鎖定
futimesat - 相對於目錄檔案描述符更改檔案的 timestamps
getcontext, setcontext - 獲取或設定使用者上下文
getcpu - 確定呼叫執行緒正在執行的 CPU 和 NUMA 節點
getcwd, getwd, get_current_dir_name - 獲取當前工作目錄
getdents, getdents64 - 獲取目錄條目
getdomainname, setdomainname - 獲取/設定 NIS 域名
getdtablesize - 獲取檔案描述符表大小
getgid, getegid - 獲取組標識
getgroups, setgroups - 獲取/設定輔助組 ID 列表
gethostid, sethostid - 獲取或設定當前主機的唯一識別符號
gethostname, sethostname - 獲取/設定主機名
getitimer, setitimer - 獲取或設定間隔計時器的值
get_kernel_syms - 檢索匯出的核心和模組符號
get_mempolicy - 檢索執行緒的 NUMA 記憶體策略
getpagesize - 獲取記憶體頁面大小
getpeername - 獲取連線的對等套接字的名稱
getpid, getppid - 獲取程序標識
getpriority, setpriority - 獲取/設定程式排程優先順序
getrandom - 獲取一系列隨機位元組
getresuid, getresgid - 獲取真實、有效和儲存的使用者/組 ID
getrlimit, setrlimit, prlimit - 獲取/設定資源限制
get_robust_list, set_robust_list - 獲取/設定健壯的 futex 列表
getrusage - 獲取資源使用情況
getsid - 獲取會話 ID
getsockname - 獲取套接字名稱
getsockopt, setsockopt - 獲取和設定套接字上的選項
get_thread_area, set_thread_area - 為執行緒本地儲存設定 GDT 條目
gettid - 獲取執行緒標識
gettimeofday, settimeofday - 獲取/設定時間
getuid, geteuid - 獲取使用者標識
getunwind - 將展開資料複製到呼叫者的緩衝區
idle - 使程序 0 處於空閒狀態
init_module, finit_module - 載入核心模組
inotify_add_watch - 向已初始化的 inotify 例項新增監視
inotify_init, inotify_init1 - 初始化 inotify 例項
inotify_rm_watch - 從 inotify 例項中刪除現有監視
intro - 系統呼叫的介紹
io_cancel - 取消正在進行的非同步 I/O 操作
ioctl_console - 控制檯終端和虛擬控制檯的 ioctl
ioctl - 控制裝置
ioctl_fat - 操作 FAT 檔案系統
ioctl_ficlonerange, ioctl_ficlone - 與另一個檔案共享部分資料
ioctl_fideduperange - 與另一個檔案共享部分資料
ioctl_getfsmap - 檢索檔案系統的物理佈局
ioctl_iflags - 用於 inode 標記的 ioctl() 操作
ioctl_list - Linux/i386 核心中 ioctl 呼叫的列表
ioctl_ns - 用於 Linux 名稱空間的 ioctl() 操作
ioctl_tty - 用於終端和序列線路的 ioctl
ioctl_userfaultfd - 建立一個用於處理使用者空間中的頁面錯誤的檔案描述符
io_destroy - 銷燬非同步 I/O 上下文
io_getevents - 從完成佇列中讀取非同步 I/O 事件
ioperm - 設定埠輸入/輸出許可權
iopl - 更改 I/O 許可權級別
ioprio_get, ioprio_set - 獲取/設定 I/O 排程類別和優先順序
io_setup - 建立非同步 I/O 上下文
io_submit - 提交非同步 I/O 塊以供處理
ipc - System V IPC 系統呼叫
kcmp - 比較兩個程序以確定它們是否共享核心資源
kexec_load, kexec_file_load - 載入一個新的核心以供稍後執行
keyctl - 操作核心的金鑰管理設施
killpg - 向程序組傳送訊號
kill - 向程序傳送訊號
link, linkat - 為檔案建立新名稱
listen - 在套接字上監聽連線
_llseek - 重置讀/寫檔案偏移量
lookup_dcookie - 返回目錄項的路徑
lseek - 重置讀/寫檔案偏移量
madvise - 提供有關記憶體使用的建議
mbind - 為記憶體範圍設定記憶體策略
membarrier - 在一組執行緒上發出記憶體屏障
memfd_create - 建立匿名檔案
migrate_pages - 將程序中的所有頁面移動到另一組節點
mincore - 確定頁面是否駐留在記憶體中
mkdir, mkdirat - 建立目錄
mknod, mknodat - 建立特殊檔案或普通檔案
mlock, mlock2, munlock, mlockall, munlockall - 鎖定和解鎖記憶體
mmap2 - 將檔案或裝置對映到記憶體
mmap, munmap - 將檔案或裝置對映或解除對映到記憶體
modify_ldt - 獲取或設定每個程序的 LDT 項
mount - 掛載檔案系統
move_pages - 將程序的單個頁面移動到另一個節點
mprotect, pkey_mprotect - 設定記憶體區域的保護
mq_getsetattr - 獲取/設定訊息佇列屬性
mq_notify - 註冊訊息可用時的通知
mq_open - 開啟訊息佇列
mq_receive, mq_timedreceive - 從訊息佇列接收訊息
mq_send, mq_timedsend - 將訊息傳送到訊息佇列
mq_unlink - 刪除訊息佇列
mremap - 重新對映虛擬記憶體地址
msgctl - System V 訊息控制操作
msgget - 獲取 System V 訊息佇列識別符號
msgrcv, msgsnd - System V 訊息佇列操作
msync - 將檔案與記憶體對映同步
name_to_handle_at, open_by_handle_at - 獲取路徑名的控制代碼並透過控制代碼開啟檔案
nanosleep - 高解析度睡眠
nfsservctl - 對核心 nfs 守護程式的系統呼叫介面
nice - 更改程序優先順序
open, openat, creat - 開啟並可能建立檔案
outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p, outl_p, inb_p, inw_p, inl_p - 埠 I/O
pause - 等待訊號
pciconfig_read, pciconfig_write, pciconfig_iobase - pci 裝置資訊處理
perf_event_open - 設定效能監控
perfmonctl - IA-64 效能監控單元的介面
personality - 設定程序執行域
pipe, pipe2 - 建立管道
pivot_root - 更改根檔案系統
pkey_alloc, pkey_free - 分配或釋放保護金鑰
poll, ppoll - 等待檔案描述符上的某些事件
posix_fadvise - 預先宣告檔案資料的訪問模式
prctl - 對程序的操作
pread, pwrite - 從給定偏移量讀取或寫入檔案描述符
process_vm_readv, process_vm_writev - 在程序地址空間之間傳輸資料
ptrace - 程序跟蹤
query_module - 查詢核心以獲取有關模組的各種資訊
quotactl - 操作磁碟配額
readahead - 將檔案預讀到頁面快取
readdir - 讀取目錄項
readlink, readlinkat - 讀取符號連結的值
read - 從檔案描述符讀取
readv, writev, preadv, pwritev, preadv2, pwritev2 - 將資料讀入或寫入多個緩衝區
reboot - 重啟或啟用/停用 Ctrl-Alt-Del
recvmmsg - 在套接字上接收多條訊息
recv, recvfrom, recvmsg - 從套接字接收訊息
remap_file_pages - 建立非線性檔案對映
rename, renameat, renameat2 - 更改檔案的名稱或位置
request_key - 從核心金鑰管理工具請求金鑰
restart_syscall - 在被停止訊號中斷後重啟系統呼叫
rmdir - 刪除目錄
rt_sigqueueinfo, rt_tgsigqueueinfo - 排隊訊號和資料
s390_pci_mmio_write, s390_pci_mmio_read - 將資料傳輸到/從 PCI MMIO 記憶體頁面
s390_runtime_instr - 啟用/停用 s390 CPU 執行時檢測
s390_sthyi - 模擬 STHYI 指令
sched_get_priority_max, sched_get_priority_min - 獲取靜態優先順序範圍
sched_rr_get_interval - 獲取命名程序的 SCHED_RR 間隔
sched_setaffinity, sched_getaffinity - 設定和獲取執行緒的 CPU 親和力掩碼
sched_setattr, sched_getattr - 設定和獲取排程策略和屬性
sched_setparam, sched_getparam - 設定和獲取排程引數
sched_setscheduler, sched_getscheduler - 設定和獲取排程策略/引數
sched_yield - 讓出處理器
seccomp - 操作程序的安全計算狀態
select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - 同步 I/O 多路複用
semctl - System V 訊號量控制操作
semget - 獲取 System V 訊號量集識別符號
semop, semtimedop - System V 訊號量操作
sendfile - 在檔案描述符之間傳輸資料
sendmmsg - 在套接字上傳送多條訊息
send, sendto, sendmsg - 在套接字上傳送訊息
seteuid, setegid - 設定有效使用者或組 ID
setfsgid - 設定用於檔案系統檢查的組標識
setfsuid - 設定用於檔案系統檢查的使用者標識
setgid - 設定組標識
set_mempolicy - 為執行緒及其子執行緒設定預設 NUMA 記憶體策略
setns - 將執行緒重新關聯到名稱空間
setpgid, getpgid, setpgrp, getpgrp - 設定/獲取程序組
setresuid, setresgid - 設定真實、有效和儲存的使用者或組 ID
setreuid, setregid - 設定真實和/或有效使用者或組 ID
setsid - 建立會話並設定程序組 ID
set_tid_address - 設定指向執行緒 ID 的指標
setuid - 設定使用者標識
setup - 設定裝置和檔案系統,掛載根檔案系統
sgetmask, ssetmask - 操作訊號掩碼(已過時)
shmat, shmdt - System V 共享記憶體操作
shmctl - System V 共享記憶體控制
shmget - 分配 System V 共享記憶體段
shutdown - 關閉全雙工連線的一部分
sigaction, rt_sigaction - 檢查和更改訊號操作
sigaltstack - 設定和/或獲取訊號堆疊上下文
signal - ANSI C 訊號處理
signalfd - 為接受訊號建立檔案描述符
sigpending, rt_sigpending - 檢查掛起的訊號
sigprocmask, rt_sigprocmask - 檢查和更改阻塞訊號
sigqueue - 將訊號和資料排隊到程序
sigreturn, rt_sigreturn - 從訊號處理程式返回並清理堆疊幀
sigsuspend, rt_sigsuspend - 等待訊號
sigwaitinfo, sigtimedwait, rt_sigtimedwait - 同步等待排隊的訊號
socketcall - 套接字系統呼叫
socket - 建立通訊端點
socketpair - 建立一對連線的套接字
splice - 將資料拼接進/出管道
spu_create - 建立新的 spu 上下文
spu_run - 執行 SPU 上下文
statfs, fstatfs - 獲取檔案系統統計資訊
stat, fstat, lstat, fstatat - 獲取檔案狀態
statvfs, fstatvfs - 獲取檔案系統統計資訊
statx - 獲取檔案狀態(擴充套件)
stime - 設定時間
subpage_prot - 為地址範圍定義子頁面保護
swapon, swapoff - 啟動/停止將檔案/裝置交換到記憶體
symlink, symlinkat - 為檔案建立新名稱
sync_file_range - 將檔案段與磁碟同步
sync, syncfs - 將檔案系統快取提交到磁碟
syscall - 間接系統呼叫
_syscall - 在沒有庫支援的情況下呼叫系統呼叫(已過時)
syscalls - Linux 系統呼叫
sysctl - 讀取/寫入系統引數
sysfs - 獲取檔案系統型別資訊
sysinfo - 返回系統資訊
syslog, klogctl - 讀取和/或清除核心訊息環形緩衝區;設定 console_loglevel
tee - 複製管道內容
time - 獲取以秒為單位的時間
timer_create - 建立 POSIX 每個程序計時器
timer_delete - 刪除 POSIX 每個程序計時器
timerfd_create, timerfd_settime, timerfd_gettime - 透過檔案描述符通知的計時器
timer_getoverrun - 獲取 POSIX 每個程序計時器的超執行計數
timer_settime, timer_gettime - 啟用/停用並獲取 POSIX 每個程序計時器的狀態
times - 獲取程序時間
tkill, tgkill - 向執行緒傳送訊號
truncate, ftruncate - 將檔案截斷到指定長度
umask - 設定檔案模式建立掩碼
umount, umount2 - 解除安裝檔案系統
uname - 獲取當前核心的名稱和資訊
unlink, unlinkat - 刪除名稱以及可能引用的檔案
unshare - 與程序執行上下文的一部分分離
uselib - 載入共享庫
userfaultfd - 建立檔案描述符以在使用者空間處理頁面錯誤
ustat - 獲取檔案系統統計資訊
utimensat, futimens - 以納秒精度更改檔案時間戳
utime, utimes - 更改檔案的最後訪問和修改時間
vfork - 建立子程序並阻塞父程序
vhangup - 虛擬掛起當前終端
vm86old, vm86 - 進入虛擬 8086 模式
vmsplice - 將使用者頁面拼接入管道
wait3, wait4 - 等待程序狀態改變,BSD 風格
wait, waitpid, waitid - 等待程序狀態改變
write - 寫入檔案描述符