Linux常用系统调用列表_第1页
Linux常用系统调用列表_第2页
Linux常用系统调用列表_第3页
Linux常用系统调用列表_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux 常用系统调用列表作者:雷震2002 年 3 月本文列出了大部分常见的Linux 系统调用,并附有简要中文说明。以下是 Linux 系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。按照惯例,这个列表以man pages 第 2 节,即系统调用节为蓝本。按照笔者的理解,对其作了大致的分类,同时也作了一些小小的修改,删去了几个仅供内核使用,不允许用户调用的系统调用,对个别本人稍觉不妥的地方作了一些小的修改,并对所有列出的系统调用附上简要注释。其中有一些函数的作用完全相同,只是参数不同。 (可能很多熟悉 C+ 朋友马上就能联想起函数重载,但是别忘了 Linux 核心

2、是用 C 语言写的,所以只能取成不同的函数名)。还有一些函数已经过时,被新的更好的函数所代替了( gcc 在链接这些函数时会发出警告) ,但因为兼容的原因还保留着,这些函数我会在前面标上 “* ”号以示区别。如想查找某系统调用的详细用法,可用man 系统调用名命令,比如:man fork 。一、进程控制:forkcloneexecveexit_exitgetdtablesizegetpgidsetpgidgetpgrpsetpgrpgetpidgetppidgetpriority创建一个新进程按指定条件创建子进程运行可执行文件中止进程立即中止当前进程进程所能打开的最大文件数获取指定进程组标识号

3、设置指定进程组标志号获取当前进程组标识号设置当前进程组标志号获取进程标识号获取父进程标识号获取调度优先级setpriority设置调度优先级modify_ldt读写进程的本地描述表nanosleep使进程睡眠指定的时间nice改变分时进程的优先级pause挂起进程,等待信号personality设置进程运行域prctl对进程进行特定操作ptrace进程跟踪sched_get_priority_max取得静态优先级的上限sched_get_priority_min取得静态优先级的下限sched_getparam取得进程的调度参数sched_getscheduler取得指定进程的调度策略sched

4、_rr_get_interval取得按 RR 算法调度的实时进程的时间片长度sched_setparam设置进程的调度参数sched_setscheduler设置指定进程的调度策略和参数sched_yield进程主动让出处理器 ,并将自己等候调度队列队尾vfork创建一个子进程,以供执行新程序,常与execve 等同时使用wait等待子进程终止wait3参见 waitwaitpid等待指定子进程终止wait4参见 waitpidcapget获取进程权限capset设置进程权限getsid获取会晤标识号setsid设置会晤标识号二、文件系统控制1、文件读写操作fcntlopencreatclos

5、ereadwritereadvwritevpreadpwritelseek_llseekdupdup2flockpoll文件控制打开文件创建新文件关闭文件描述字读文件写文件从文件读入数据到缓冲数组中将缓冲数组里的数据写入文件对文件随机读对文件随机写移动文件指针在 64 位地址空间里移动文件指针复制已打开的文件描述字按指定条件复制文件描述字文件加 /解锁I/O 多路转换truncate截断文件ftruncate参见truncateumask设置文件权限掩码fsync把文件在内存中的部分写回磁盘2、文件系统操作accesschdirfchdirchmodfchmodchownfchownlchow

6、nchrootstatlstatfstatstatfsfstatfsreaddirgetdentsmkdirmknodrmdir确定文件的可存取性改变当前工作目录参见 chdir改变文件方式参见 chmod改变文件的属主或用户组参见 chown参见 chown改变根目录取文件状态信息参见 stat参见 stat取文件系统信息参见 statfs读取目录项读取目录项创建目录创建索引节点删除目录rename文件改名link创建链接symlink创建符号链接unlink删除链接readlink读符号链接的值mount安装文件系统umount卸下文件系统ustat取文件系统信息utime改变文件的访问修

7、改时间utimes参见 utimequotactl控制磁盘配额三、系统控制ioctlI/O 总控制函数_sysctl读 /写系统参数acct启用或禁止进程记账getrlimit获取系统资源上限setrlimit设置系统资源上限getrusage获取系统资源使用情况uselib选择要使用的二进制函数库ioperm设置端口I/O 权限iopl改变进程I/O 权限级别outb低级端口操作rebootswaponswapoffbdflushsysfssysinfoadjtimexalarmgetitimersetitimergettimeofdaysettimeofdaystimetimetimesu

8、namevhangupnfsservctlvm86create_moduledelete_moduleinit_modulequery_module重新启动打开交换文件和设备关闭交换文件和设备控制 bdflush 守护进程取核心支持的文件系统类型取得系统信息调整系统时钟设置进程的闹钟获取计时器值设置计时器值取时间和时区设置时间和时区设置系统日期和时间取得系统时间取进程运行时间获取当前UNIX 系统的名称、版本和主机等信息挂起当前终端对 NFS 守护进程进行控制进入模拟8086 模式创建可装载的模块项删除可装载的模块项初始化模块查询模块信息*get_kernel_syms取得核心符号,已被 qu

9、ery_module 代替四、内存管理brksbrkmlockmunlockmlockallmunlockallmmapmunmapmremapmsyncmprotectgetpagesizesynccacheflush改变数据段空间的分配参见 brk内存页面加锁内存页面解锁调用进程所有内存页面加锁调用进程所有内存页面解锁映射虚拟内存页去除内存页映射重新映射虚拟内存地址将映射内存中的数据写回磁盘设置内存映像保护获取页面大小将内存缓冲区数据写回硬盘将指定缓冲区中的内容写回磁盘五、网络管理getdomainname取域名setdomainname设置域名gethostid获取主机标识号sethos

10、tidgethostnamesethostname设置主机标识号获取本主机名称设置主机名称六、 socket控制socketcallsocket 系统调用socketbindconnectacceptsendsendtosendmsgrecvrecvfromrecvmsglistenselectshutdowngetsocknamegetpeernamegetsockoptsetsockopt建立 socket绑定 socket 到端口连接远程主机响应 socket 连接请求通过 socket 发送信息发送 UDP 信息参见 send通过 socket 接收信息接收 UDP 信息参见 recv

11、监听 socket 端口对多路同步I/O 进行轮询关闭 socket 上的连接取得本地 socket 名字获取通信对方的socket 名字取端口设置设置端口参数sendfile在文件或端口间传输数据socketpair创建一对已联接的无名socket七、用户管理getuidsetuidgetgidsetgidgetegidsetegidgeteuidseteuidsetregidsetreuidgetresgidsetresgidgetresuidsetresuidsetfsgidsetfsuidgetgroupssetgroups获取用户标识号设置用户标志号获取组标识号设置组标志号获取有效组

12、标识号设置有效组标识号获取有效用户标识号设置有效用户标识号分别设置真实和有效的的组标识号分别设置真实和有效的用户标识号分别获取真实的,有效的和保存过的组标识号分别设置真实的,有效的和保存过的组标识号分别获取真实的,有效的和保存过的用户标识号分别设置真实的,有效的和保存过的用户标识号设置文件系统检查时使用的组标识号设置文件系统检查时使用的用户标识号获取后补组标志清单设置后补组标志清单八、进程间通信ipc进程间通信总控制调用1、信号sigaction设置对指定信号的处理方法sigprocmask根据参数对信号集中的信号执行阻塞/解除阻塞等操作sigpending为指定的被阻塞信号设置队列sigsu

13、spend挂起进程等待特定信号signal参见 signalkill向进程或进程组发信号*sigblock向被阻塞信号掩码中添加信号,已被 sigprocmask 代替*siggetmask取得现有阻塞信号掩码 ,已被 sigprocmask 代替*sigsetmask用给定信号掩码替换现有阻塞信号掩码,已被 sigprocmask 代替*sigmask将给定的信号转化为掩码 ,已被 sigprocmask 代替*sigpause作用同 sigsuspend,已被 sigsuspend 代替sigvec为兼容 BSD 而设的信号处理函数 ,作用类似 sigactionssetmaskANSI C 的信号处理函数 ,作用类似 sigaction2、消息msgctl消息控制操作msgget获取消息队列ms

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论