2024年3月31日发(作者:)
Linux常用系统调用
本文列出了大部分常见的Linux系统调用,并附有简要中文说明。
以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的
的函数。按照惯例,这个列表以man pages第2节,即系统调用节为蓝本。按照笔者的理解,
对其作了大致的分类,同时也作了一些小小的修改,删去了几个仅供内核使用,不允许用户
调用的系统调用,对个别本人稍觉不妥的地方作了一些小的修改,并对所有列出的系统调用
附上简要注释。
其中有一些函数的作用完全相同,只是参数不同。(可能很多熟悉C++朋友马上就能联
想起函数重载,但是别忘了Linux核心是用C语言写的,所以只能取成不同的函数名)。还
有一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),
但因为兼容的原因还保留着,这些函数我会在前面标上“*”号以示区别。
如想查找某系统调用的详细用法,可用man 系统调用名 命令,比如:man fork。
一、进程控制:
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
sched_setparam
sched_setscheduler
sched_yield
vfork
wait
wait3
waitpid
wait4
capget
capset
getsid
setsid
二、文件系统控制
1、文件读写操作
fcntl
open
creat
文件控制
打开文件
创建新文件
取得进程的调度参数
取得指定进程的调度策略
取得按RR算法调度的实时进程的时间片长度
设置进程的调度参数
设置指定进程的调度策略和参数
进程主动让出处理器,并将自己等候调度队列队尾
创建一个子进程,以供执行新程序,常与execve等同时使用
等待子进程终止
参见wait
等待指定子进程终止
参见waitpid
获取进程权限
设置进程权限
获取会晤标识号
设置会晤标识号


发布评论