转载:https://blog.csdn.net/wwwdc1012/article/details/78759326
一、进程控制:
| 函数名 | 描述 | 文件 |
|---|---|---|
| fork | 创建一个新进程 | kernel/fork.c |
| clone | 按指定条件创建子进程 | kernel/fork.c |
| execve | 运行可执行文件 | fs/exec.c |
| exit | 中止进程 | kernel/exit.c |
| _exit | 立即中止当前进程 | |
| getdtablesize | 进程所能打开的最大文件数 | kernel/sys.c |
| getpgid | 获取指定进程组标识号 | kernel/sys.c |
| setpgid | 设置指定进程组标志号 | kernel/sys.c |
| getpgrp | 获取当前进程组标识号 | kernel/sys.c |
| setpgrp | 设置当前进程组标志号 | kernel/sys.c |
| getpid | 获取进程标识号 | kernel/sys.c |
| getppid | 获取父进程标识号 | kernel/sys.c |
| getpriority | 获取调度优先级 | kernel/sys.c |
| setpriority | 设置调度优先级 | kernel/sys.c |
| modify_ldt | 读写进程的本地描述表 | arch/x86/um/ldt.c |
| nanosleep | 使进程睡眠指定的时间 | kernel/hrtimer.c |
| nice | 改变分时进程的优先级 | |
| pause | 挂起进程,等待信号 | kernel/signal.c |
| personality | 设置进程运行域 | kernel/exec_domain.c |
| prctl | 对进程进行特定操作 | kernel/sys.c |
| ptrace | 进程跟踪 | kernel/ptrace.c |
| sched_get_priority_max | 取得静态优先级的上限 | kernel/sched/core.c |
| sched_get_priority_min | 取得静态优先级的下限 | kernel/sched/core.c |
| sched_getparam | 取得进程的调度参数 | kernel/sched/core.c |
| sched_getscheduler | 取得指定进程的调度策略 | kernel/sched/core.c |
| sched_rr_get_interval | 取得按RR算法调度的实时进程的时间片长度 | kernel/sched/core.c |
| sched_setparam | 设置进程的调度参数 | kernel/sched/core.c |
| sched_setscheduler | 设置指定进程的调度策略和参数 | kernel/sched/core.c |
| sched_yield | 进程主动让出处理器,并将自己等候调度队列队尾 | kernel/sched/core.c |
| vfork | 创建一个子进程,以供执行新程序,常与execve等同时使用 | kernel/fork.c |
| wait | 等待子进程终止 | |
| wait3 | 参见wait | |
| waitpid | 等待指定子进程终止 | |
| wait4 | 参见waitpid | kernel/exit.c |
| capget | 获取进程权限 | kernel/capability.c |
| capset | 设置进程权限 | kernel/capability.c |
| getsid | 获取会晤标识号 | kernel/sys.c |
| setsid | 设置会晤标识号 | kernel/sys.c |
二、文件系统控制
| 函数名 | 描述 | 文件 |
|---|---|---|
| fcntl | 文件控制 | fs/fcntl.c |
| open | 打开文件 | fs/open.c |
| creat | 创建新文件 | fs/open.c |
| close | 关闭文件描述字 | fs/open.c |
| read | 读文件 | fs/read_write.c |
| write | 写文件 | fs/read_write.c |
| readv | 从文件读入数据到缓冲数组中 | fs/read_write.c |
| writev | 将缓冲数组里的数据写入文件 | fs/read_write.c |
| pread | 对文件随机读 | fs/read_write.c |
| pwrite | 对文件随机写 | fs/read_write.c |
| lseek | 移动文件指针 | fs/read_write.c |
| _llseek | 在64位地址空间里移动文件指针 | |
| dup | 复制已打开的文件描述字 | fs/file.c |
| dup2 | 按指定条件复制文件描述字 | fs/file.c |
| flock | 文件加/解锁 | fs/locks.c |
| poll | I/O多路转换 | fs/select.c |
| truncate | 截断文件 | fs/open.c |
| ftruncate | 参见truncate | fs/open.c |
| umask | 设置文件权限掩码 | kernel/sys.c |
| fsync | 把文件在内存中的部分写回磁盘 | fs/sync.c |
| access | 确定文件的可存取性 | fs/open.c |
| chdir | 改变当前工作目录 | fs/open.c |
| fchdir | 参见chdir | fs/open.c |
| chmod | 改变文件方式 | fs/open.c |
| fchmod | 参见chmod | fs/open.c |
| chown | 改变文件的属主或用户组 | fs/open.c |
| fchown | 参见chown | fs/open.c |
| lchown | 参见chown | fs/open.c |
| chroot | 改变根目录 | fs/open.c |
| stat | 取文件状态信息 | fs/stat.c |
| lstat | 参见stat | fs/stat.c |
| fstat | 参见stat | fs/stat.c |
| statfs | 取文件系统信息 | fs/statfs.c |
| fstatfs | 参见statfs | fs/statfs.c |
| readdir | 读取目录项 | |
| getdents | 读取目录项 | fs/readdir.c |
| mkdir | 创建目录 | fs/namei.c |
| mknod | 创建索引节点 | fs/namei.c |
| rmdir | 删除目录 | fs/namei.c |
| rename | 文件改名 | fs/namei.c |
| link | 创建链接 | fs/namei.c |
| symlink | 创建符号链接 | fs/namei.c |
| unlink | 删除链接 | fs/namei.c |
| readlink | 读符号链接的值 | fs/stat.c |
| mount | 安装文件系统 | fs/namespace.c |
| umount | 卸下文件系统 | |
| ustat | 取文件系统信息 | fs/statfs.c |
| utime | 改变文件的访问修改时间 | fs/utimes.c |
| utimes | 参见utime | fs/utimes.c |
| quotactl | 控制磁盘配额 | fs/quota/quota.c |
三、系统控制
| 函数名 | 描述 | 文件 |
|---|---|---|
| ioctl | I/O总控制函数 | fs/ioctl.c |
| _sysctl | 读/写系统参数 | kernel/sysctl_binary.c |
| acct | 启用或禁止进程记账 | kernel/acct.c |
| getrlimit | 获取系统资源上限 | kernel/sys.c |
| setrlimit | 设置系统资源上限 | kernel/sys.c |
| getrusage | 获取系统资源使用情况 | kernel/sys.c |
| uselib | 选择要使用的二进制函数库 | fs/exec.c |
| ioperm | 设置端口I/O权限 | arch/x86/kernel/ioport.c |
| iopl | 改变进程I/O权限级别 | arch/x86/kernel/ioport.c |
| outb | 低级端口操作 | |
| reboot | 重新启动 | kernel/reboot.c |
| swapon | 打开交换文件和设备 | mm/swapfile.c |
| swapoff | 关闭交换文件和设备 | mm/swapfile.c |
| bdflush | 控制bdflush守护进程 | |
| sysfs | 取核心支持的文件系统类型 | fs/filesystems.c |
| sysinfo | 取得系统信息 | kernel/sys.c |
| adjtimex | 调整系统时钟 | kernel/time.c |
| alarm | 设置进程的闹钟 | kernel/timer.c |
| getitimer | 获取计时器值 | kernel/itimer.c |
| setitimer | 设置计时器值 | kernel/itimer.c |
| gettimeofday | 取时间和时区 | kernel/time.c |
| settimeofday | 设置时间和时区 | kernel/time.c |
| stime | 设置系统日期和时间 | |
| time | 取得系统时间 | |
| times | 取进程运行时间 | kernel/sys.c |
| uname | 获取当前UNIX系统的名称、版本和主机等信息 | kernel/sys.c |
| vhangup | 挂起当前终端 | fs/open.c |
| nfsservctl | 对NFS守护进程进行控制 | |
| vm86 | 进入模拟8086模式 | |
| create_module | 创建可装载的模块项 | |
| delete_module | 删除可装载的模块项 | kernel/module.c |
| init_module | 初始化模块 | kernel/module.c |
| query_module | 查询模块信息 | |
| *get_kernel_syms | 取得核心符号,已被query_module代替 |
四、内存管理
| 函数名 | 描述 | 文件 |
|---|---|---|
| brk | 改变数据段空间的分配 | mm/mmap.c |
| sbrk | 参见brk | |
| mlock | 内存页面加锁 | mm/mlock.c |
| munlock | 内存页面解锁 | mm/mlock.c |
| mlockall | 调用进程所有内存页面加锁 | mm/mlock.c |
| munlockall | 调用进程所有内存页面解锁 | mm/mlock.c |
| mmap | 映射虚拟内存页 | arch/x86/kernel/sys_x86_64.c |
| munmap | 去除内存页映射 | mm/mmap.c |
| mremap | 重新映射虚拟内存地址 | mm/mmap.c |
| msync | 将映射内存中的数据写回磁盘 | mm/msync.c |
| mprotect | 设置内存映像保护 | mm/mprotect.c |
| getpagesize | 获取页面大小 | |
| sync | 将内存缓冲区数据写回硬盘 | fs/sync.c |
| cacheflush | 将指定缓冲区中的内容写回磁盘 |
五、网络管理
| 函数名 | 描述 | 文件 |
|---|---|---|
| getdomainname | 取域名 | |
| setdomainname | 设置域名 | kernel/sys.c |
| gethostid | 获取主机标识号 | |
| sethostid | 设置主机标识号 | |
| gethostname | 获取本主机名称 | |
| sethostname | 设置主机名称 | kernel/sys.c |
六、socket控制
| 函数名 | 描述 | 文件 |
|---|---|---|
| socketcall | socket系统调用 | |
| socket | 建立socket | net/socket.c |
| bind | 绑定socket到端口 | net/socket.c |
| connect | 连接远程主机 | net/socket.c |
| accept | 响应socket连接请求 | net/socket.c |
| send | 通过socket发送信息 | |
| sendto | 发送UDP信息 | net/socket.c |
| sendmsg | 参见send | net/socket.c |
| recv | 通过socket接收信息 | |
| recvfrom | 接收UDP信息 | net/socket.c |
| recvmsg | 参见recv | net/socket.c |
| listen | 监听socket端口 | net/socket.c |
| select | 对多路同步I/O进行轮询 | fs/select.c |
| shutdown | 关闭socket上的连接 | net/socket.c |
| getsockname | 取得本地socket名字 | net/socket.c |
| getpeername | 获取通信对方的socket名字 | net/socket.c |
| getsockopt | 取端口设置 | net/socket.c |
| setsockopt | 设置端口参数 | net/socket.c |
| sendfile | 在文件或端口间传输数据 | fs/read_write.c |
| socketpair | 创建一对已联接的无名socket | net/socket.c |
七、用户管理
| 函数名 | 描述 | 文件 |
|---|---|---|
| getuid | 获取用户标识号 | kernel/sys.c |
| setuid | 设置用户标志号 | kernel/sys.c |
| getgid | 获取组标识号 | kernel/sys.c |
| setgid | 设置组标志号 | kernel/sys.c |
| getegid | 获取有效组标识号 | kernel/sys.c |
| setegid | 设置有效组标识号 | kernel/sys.c |
| geteuid | 获取有效用户标识号 | kernel/sys.c |
| seteuid | 设置有效用户标识号 | kernel/sys.c |
| setregid | 分别设置真实和有效的的组标识号 | kernel/sys.c |
| setreuid | 分别设置真实和有效的用户标识号 | kernel/sys.c |
| getresgid | 分别获取真实的,有效的和保存过的组标识号 | kernel/sys.c |
| setresgid | 分别设置真实的,有效的和保存过的组标识号 | kernel/sys.c |
| getresuid | 分别获取真实的,有效的和保存过的用户标识号 | kernel/sys.c |
| setresuid | 分别设置真实的,有效的和保存过的用户标识号 | kernel/sys.c |
| setfsgid | 设置文件系统检查时使用的组标识号 | kernel/sys.c |
| setfsuid | 设置文件系统检查时使用的用户标识号 | kernel/sys.c |
| getgroups | 获取后补组标志清单 | kernel/groups.c |
| setgroups | 设置后补组标志清单 | kernel/groups.c |
八、进程间通信
| 函数名 | 描述 | 文件 |
|---|---|---|
| ipc | 进程间通信总控制调用 | |
| 信号 | ||
| sigaction | 设置对指定信号的处理方法 | |
| sigprocmask | 根据参数对信号集中的信号执行阻塞/解除阻塞等操作 | |
| sigpending | 为指定的被阻塞信号设置队列 | |
| sigsuspend | 挂起进程等待特定信号 | |
| signal | 参见signal | |
| kill | 向进程或进程组发信号 | kernel/signal.c |
| *sigblock | 向被阻塞信号掩码中添加信号,已被sigprocmask代替 | |
| *siggetmask | 取得现有阻塞信号掩码,已被sigprocmask代替 | |
| *sigsetmask | ||
| *sigmask | 将给定的信号转化为掩码,已被sigprocmask代替 | |
| *sigpause | 作用同sigsuspend,已被sigsuspend代替 | |
| sigvec | 为兼容BSD而设的信号处理函数,作用类似sigaction | |
| ssetmask | ANSI C的信号处理函数,作用类似sigaction | |
| 2、消息 | ||
| msgctl | 消息控制操作 | ipc/msg.c |
| msgget | 获取消息队列 | ipc/msg.c |
| msgsnd | 发消息 | ipc/msg.c |
| msgrcv | 取消息 | ipc/msg.c |
| 3、管道 | ||
| pipe | 创建管道 | fs/pipe.c |
| 4、信号量 | ||
| semctl | 信号量控制 | ipc/sem.c |
| semget | 获取一组信号量 | ipc/sem.c |
| semop | 信号量操作 | ipc/sem.c |
| 5、共享内存 | ||
| shmctl | 控制共享内存 | ipc/shm.c |
| shmget | 获取共享内存 | ipc/shm.c |
| shmat | 连接共享内存 | ipc/shm.c |
| shmdt | 拆卸共享内存 | ipc/shm.c |
浙公网安备 33010602011771号