Linux 系统调用列表
雷镇
2002 年3 月
本文列出了大部分常见的 Linux 系统调用,并附有简要中文说明。
以下是 Linux 系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出
的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的 Linux 系统调用列表,
即使是简单的字母序英文列表,能做到这么完全也是很罕见的。
按照惯例,这个列表以 man
pages 第 2 节,即系统调用节为蓝本。按照笔者的理解,对其作了大致的分类,同时
也作了一些小小的修改,删去了几个仅供内核使用,不允许用户调用的系统调用,对个别
本人稍觉不妥的地方作了一些小的修改,并对所有列出的系统调用附上简要注释。
其中有一些函数的作用完全相同,只是参数不同。(可能很多熟悉 C++朋友马上就能
联想起函数重载,但是别忘了 Linux 核心是用 C 语言写的,所以只能取成不同的函数名)。
还有一些函数已经过时,被新的更好的函数所代替了(gcc 在链接这些函数时会发出警
告),但因为兼容的原因还保留着,这些函数我会在前面标上* 号以示区别。
一、进程控制:
fork 创建一个新进程
clone 按指定条件创建子进程
execve 运行可执行文件
exit 中止进程
_exit 立即中止当前进程
getdtablesize 进程所能打开的最大文件数
getpgid 获取指定进程组标识号
setpgid 设置指定进程组标志号
getpgrp 获取当前进程组标识号
setpgrp 设置当前进程组标志号
getpid 获取进程标识号
getppid 获取父进程标识号
getpriority 获取调度优先级
setpriority 设置调度优先级
modify_ldt 读写进程的本地描述表
nanosleep 使进程睡眠指定的时间
nice 改变分时进程的优先级
pause 挂起进程,等待信号
personality 设置进程运行域
prctl 对进程进行特定操作
ptrace 进程跟踪
sched_get_priority_max 取得静态优先级的上限
sched_get_priority_min 取得静态优先级的下限
sched_getparam 取得进程的调度参数
sched_getscheduler 取得指定进程的调度策略
sched_rr_get_interval 取得按 RR 算法调度的实时进程的时间片长度