Linu常用系统调用列表

上传人:pu****.1 文档编号:469323183 上传时间:2023-01-13 格式:DOCX 页数:10 大小:21.46KB
返回 下载 相关 举报
Linu常用系统调用列表_第1页
第1页 / 共10页
Linu常用系统调用列表_第2页
第2页 / 共10页
Linu常用系统调用列表_第3页
第3页 / 共10页
Linu常用系统调用列表_第4页
第4页 / 共10页
Linu常用系统调用列表_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《Linu常用系统调用列表》由会员分享,可在线阅读,更多相关《Linu常用系统调用列表(10页珍藏版)》请在金锄头文库上搜索。

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

2、经过时,被新的更好的函数所代替了(gcc在链接这些 函数时会发出警告),但因为兼容的原因还保留着,这些函数我会在前面标上“*号” 以示区别。如想查找某系统调用的详细用法,可用man系统调用名 命令,比如:man fork。一、进程控制:fork创建一个新进程clone按指定条件创建子进程execve运行可执行文件exit中止进程exit立即中止当前进程getdtablesize进程所能打开的最大文件数getpgid获取指定进程组标识号setpgid设置指定进程组标志号getpgrp获取当前进程组标识号setpgrp设置当前进程组标志号getpid获取进程标识号getppid获取父进程标识号ge

3、tpriority获取调度优先级setpriority设置调度优先级modifydt读写进程的本地描述表nanosleep使进程睡眠指定的时间nice改变分时进程的优先级pause挂起进程,等待信号personality设置进程运行域prctl对进程进行特定操作ptrace进程跟踪sched_get_priority_max取得静态优先级的上限sched_get_priority_min取得静态优先级的下限sched_getparam取得进程的调度参数sched_getscheduler取得指定进程的调度朿略sched_rr_get_interval取得按RR算法调度的实时进程的时间片长度sc

4、hed_setparam设置进程的调度参数sched_setscheduler设置指定进程的调度策略和参数sched_yield进程主动让出处理器,并将自己等候调度队列队尾vfork创建一个子进程,以供执行新程序,常与execve等冋时使用wait等待子进程终止wait3参见waitwaitpid等待指定子进程终止wait4参见 waitpidcapget获取进程权限capset设置进程权限getsid获取会晤标识号setsid设置会晤标识号二、文件系统控制1、文件读写操作fcntl 文件控制1open打开文件icreat创建新文件iclose关闭文件描述字1read读文件1write写文件i

5、readv从文件读入数据到缓冲数组中1writev将缓冲数组里的数据写入文件1pread对文件随机读1pwrite对文件随机写1lseek移动文件指针1lseek在64位地址空间里移动文件指针1dup复制已打开的文件描述字1dup2按指定条件复制文件描述字1flock文件加/解锁1pollI/O多路转换1truncate截断文件iftruncate参见 truncate1umask设置文件权限掩码1fsync把文件在内存中的部分写回磁盘2、文件系统操作1access确定文件的可存取性1chdir改变当前工作目录1fchdir参见chdir1chmod改变文件方式1fchmod参见chmod1c

6、hown改变文件的属主或用户组1fchown参见chown1lchown参见chown1chroot改变根目录1stat取文件状态信息ilstat参见stat1fstat参见stat1statfs取文件系统信息1fstatfs参见statfs1readdir读取目录项1getdents读取目录项1mkdir创建目录1mknod创建索引节点1rmdir删除目录1rename文件改名ilink创建链接1symlink创建符号链接1unlink删除链接1readlink读符号链接的值1mount安装文件系统1umount卸下文件系统1ustat取文件系统信息iutime改变文件的访问修改时间iuti

7、mes参见utimeiquotactl控制磁盘配额三、系统控制1ioctlI/O总控制函数_sysctl读/写系统参数acct启用或禁止进程记账getrlimit获取系统资源上限setrlimit设置系统资源上限getrusage获取系统资源使用情况uselib选择要使用的二进制函数库ioperm设置端口 I/O权限iopl改变进程I/O权限级别outb低级端口操作reboot重新启动swapon打开父换文件和设备swapoff关闭交换文件和设备bdflush控制bdflush守护进程sysfs取核心支持的文件系统类型sysinfo取得系统信息adjtimex调整系统时钟alarm设置进程的闹

8、钟getitimer获取计时器值setitimer设置计时器值gettimeofday取时间和时区settimeofday设置时间和时区stime设置系统日期和时间time取得系统时间times取进程运行时间uname获取当前UNIX系统的名称、版本和主机等信息vhangup挂起当前终端nfsservctl对NFS守护进程进行控制vm86进入模拟8086模式create_module创建可装载的模块项delete_module删除可装载的模块项init_module初始化模块query_module查询模块信息*get_kernel_syms取得核心付号,已被query_module代替四、内

9、存管理brk改变数据段空间的分配sbrk参见brkmlock内存页面加锁munlock内存页面解锁mlockall调用进程所有内存页面加锁munlockall调用进程所有内存页面解锁mmap映射虚拟内存页munmap去除内存页映射mremap重新映射虚拟内存地址msync将映射内存中的数据与回磁盘mprotect设置内存映像保护getpagesize获取页面大小sync将内存缓冲区数据写回硬盘cacheflush将指定缓冲区中的内容写回磁盘五、网络管理getdomainname取域名setdomainname设置域名gethostid获取主机标识号1sethostid设置主机标识号1getho

10、stname获取本主机名称1sethostname设置主机名称六、socket控制socketcallsocket系统调用socket建立socketbind绑定socket到端口connect连接远程主机accept响应socket连接请求send通过socket发送信息sendto发送UDP信息sendmsg参见sendrecv通过socket接收信息recvfrom接收UDP信息recvmsg参见recvlisten监听socket端口select对多路同步I/O进行轮询shutdown关闭socket上的连接getsockname取得本地socket名字getpeername获取通信对

11、方的socket名字getsockopt取端口设置setsockopt设置端口参数sendfile在文件或端口间传输数据socketpair创建一对已联接的无名socket七、用户管理getuid获取用户标识号setuid设置用户标志号getgid获取组标识号setgid设置组标志号getegid获取有效组标识号setegid设置有效组标识号geteuid获取有效用户标识号seteuid设置有效用户标识号setregid分别设置真实和有效的的组标识号setreuid分别设置真实和有效的用户标识号getresgid分别获取真实的,有效的和保存过的组标识号setresgid分别设置真实的,有效的和

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

13、组发信号*sigblock向被阻塞信号掩码中添加信号,已被sigprocmask代替*siggetmask取得现有阻塞信号掩码,已被sigprocmask代替*sigsetmask用给定信号掩码替换现有阻塞信号掩码,已被sigprocmask代替*sigmask将给定的信号转化为掩码,已被sigprocmask代替*sigpause作用同sigsuspend,已被sigsuspend代替sigvec为兼容BSD而设的信号处理函数,作用类似sigactionssetmaskANSI C的信号处理函数,作用类似sigaction2、消息msgctl消息控制操作msgget获取消息队列msgsnd发消息msgrcv取消息3、管道pipe创建管道4、信号量semctl信号量控制semget获取一组信号量5、共享内存shmctl控制共享内存shmget获取共享内存shmat连接共享内存shmdt拆卸共享内存参考

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号