网络常用的linux系统调用
网络之常用的Linux系统调用
下面一些函数已经过时,被新的更好的函数所代替了(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算法调度的实时进程的时间片长度 |
|
sched_setparam |
设置进程的调度参数 |
|
sched_setscheduler |
设置指定进程的调度策略和参数 |
|
sched_yield |
进程主动让出处理器,并将自己等候调度队列队尾 |
|
vfork |
创建一个子进程,以供执行新程序,常与execve等同时使用 |
|
wait |
等待子进程终止 |
|
wait3 |
参见wait |
|
waitpid |
等待指定子进程终止 |
|
wait4 |
参见waitpid |
|
capget |
获取进程权限 |
|
capset |
设置进程权限 |
|
getsid |
获取会晤标识号 |
|
setsid |
设置会晤标识号 |
二、文件读写操作
|
fcntl |
文件控制 |
|
open |
打开文件 |
|
creat |
创建新文件 |
|
close |
关闭文件描述字 |
|
read |
读文件 |
|
write |
写文件 |
|
readv |
从文件读入数据到缓冲数组中 |
|
writev |
将缓冲数组里的数据写入文件 |
|
pread |
对文件随机读 |
|
pwrite |
对文件随机写 |
|
lseek |
移动文件指针 |
|
_llseek |
在64位地址空间里移动文件指针 |
|
dup |
复制已打开的文件描述字 |
|
dup2 |
按指定条件复制文件描述字 |
|
flock |
文件加/解锁 |
|
poll |
I/O多路转换 |
|
truncate |
截断文件 |
|
ftruncate |
参见truncate |
|
umask |
设置文件权限掩码 |
|
fsync |
把文件在内存中的部分写回磁盘 |
三、文件系统操作
|
access |
确定文件的可存取性 |
|
chdir |
改变当前工作目录 |
|
fchdir |
参见chdir |
|
chmod |
改变文件方式 |
|
fchmod |
参见chmod |
|
chown |
改变文件的属主或用户组 |
|
fchown |
参见chown |
|
lchown |
参见chown |
|
chroot |
改变根目录 |
|
stat |
取文件状态信息 |
|
lstat |
参见stat |
|
fstat |
参见stat |
|
statfs |
取文件系统信息 |
|
fstatfs |
参见statfs |
|
readdir |
读取目录项 |
|
getdents |
读取目录项 |
|
mkdir |
创建目录 |
|
mknod |
创建索引节点 |
|
rmdir |
删除目录 |
|
rename |
文件改名 |
|
link |
创建链接 |
|
symlink |
创建符号链接 |
|
unlink |
删除链接 |
|
readlink |
读符号链接的值 |
|
mount |
安装文件系统 |
|
umount |
卸下文件系统 |
|
ustat |
取文件系统信息 |
|
utime |
改变文件的访问修改时间 |
|
utimes |
参见utime |
|
quotactl |
控制磁盘配额 |
四、系统控制
|
ioctl |
I/O总控制函数 |
|
_sysctl |
读/写系统参数 |
|
acct |
启用或禁止进程记账 |
|
getrlimit |
获取系统资源上限 |
|
setrlimit |
设置系统资源上限 |
|
getrusage |
获取系统资源使用情况 |
|
uselib |
选择要使用的二进制函数库 |
|
ioperm |
设置端口I/O权限 |
|
iopl |
改变进程I/O权限级别 |
|
outb |
低级端口操作 |
|
reboot |
重新启动 |
|
swapon |
打开交换文件和设备 |
|
swapoff |
关闭交换文件和设备 |
|
bdflush |
控制bdflush守护进程 |
|
sysfs |
取核心支持的文件系统类型 |
|
sysinfo |
取得系统信息 |
|
adjtimex |
调整系统时钟 |
|
alarm |
设置进程的闹钟 |
|
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代替 |
五、内存管理
|
brk |
改变数据段空间的分配 |
|
sbrk |
参见brk |
|
mlock |
内存页面加锁 |
|
munlock |
内存页面解锁 |
|
mlockall |
调用进程所有内存页面加锁 |
|
munlockall |
调用进程所有内存页面解锁 |
|
mmap |
映射虚拟内存页 |
|
munmap |
去除内存页映射 |
|
mremap |
重新映射虚拟内存地址 |
|
msync |
将映射内存中的数据写回磁盘 |
|
mprotect |
设置内存映像保护 |
|
getpagesize |
获取页面大小 |
|
sync |
将内存缓冲区数据写回硬盘 |
|
cacheflush |
将指定缓冲区中的内容写回磁盘 |
六、网络管理
|
getdomainname |
取域名 |
|
setdomainname |
设置域名 |
|
gethostid |
获取主机标识号 |
|
sethostid |
设置主机标识号 |
|
gethostname |
获取本主机名称 |
|
sethostname |
设置主机名称 |
七、Socket控制
|
socketcall |
socket系统调用 |
|
socket |
建立socket |
|
bind |
绑定socket到端口 |
|
connect |
连接远程主机 |
|
accept |
响应socket连接请求 |
|
send |
通过socket发送信息 |
|
sendto |
发送UDP信息 |
|
sendmsg |
参见send |
|
recv |
通过socket接收信息 |
|
recvfrom |
接收UDP信息 |
|
recvmsg |
参见recv |
|
listen |
监听socket端口 |
|
select |
对多路同步I/O进行轮询 |
|
shutdown |
关闭socket上的连接 |
|
getsockname |
取得本地socket名字 |
|
getpeername |
获取通信对方的socket名字 |
|
getsockopt |
取端口设置 |
|
setsockopt |
设置端口参数 |
|
sendfile |
在文件或端口间传输数据 |
|
socketpair |
创建一对已联接的无名socket |
八、用户管理
|
getuid |
获取用户标识号 |
|
setuid |
设置用户标志号 |
|
getgid |
获取组标识号 |
|
setgid |
设置组标志号 |
|
getegid |
获取有效组标识号 |
|
setegid |
设置有效组标识号 |
|
geteuid |
获取有效用户标识号 |
|
seteuid |
设置有效用户标识号 |
|
setregid |
分别设置真实和有效的的组标识号 |
|
setreuid |
分别设置真实和有效的用户标识号 |
|
getresgid |
分别获取真实的,有效的和保存过的组标识号 |
|
setresgid |
分别设置真实的,有效的和保存过的组标识号 |
|
getresuid |
分别获取真实的,有效的和保存过的用户标识号 |
|
setresuid |
分别设置真实的,有效的和保存过的用户标识号 |
|
setfsgid |
设置文件系统检查时使用的组标识号 |
|
setfsuid |
设置文件系统检查时使用的用户标识号 |
|
getgroups |
获取后补组标志清单 |
|
setgroups |
设置后补组标志清单 |
九、进程间通信
|
ipc |
进程间通信总控制调用 |
9.1 信号
|
sigaction |
设置对指定信号的处理方法 |
|
sigprocmask |
根据参数对信号集中的信号执行阻塞/解除阻塞等操作 |
|
sigpending |
为指定的被阻塞信号设置队列 |
|
sigsuspend |
挂起进程等待特定信号 |
|
signal |
参见signal |
|
kill |
向进程或进程组发信号 |
|
*sigblock |
向被阻塞信号掩码中添加信号,已被sigprocmask代替 |
|
*siggetmask |
取得现有阻塞信号掩码,已被sigprocmask代替 |
|
*sigsetmask |
用给定信号掩码替换现有阻塞信号掩码,已被sigprocmask代替 |
|
*sigmask |
将给定的信号转化为掩码,已被sigprocmask代替 |
|
*sigpause |
作用同sigsuspend,已被sigsuspend代替 |
|
sigvec |
为兼容BSD而设的信号处理函数,作用类似sigaction |
|
ssetmask |
ANSI C的信号处理函数,作用类似sigaction |
9.2 消息
|
msgctl |
消息控制操作 |
|
msgget |
获取消息队列 |
|
msgsnd |
发消息 |
|
msgrcv |
取消息 |
9.3 管道
|
pipe |
创建管道 |
9.4 信号量
|
semctl |
信号量控制 |
|
semget |
获取一组信号量 |
|
semop |
信号量操作 |
9.5 共享内存
|
shmctl |
控制共享内存 |
|
shmget |
获取共享内存 |
|
shmat |
连接共享内存 |
|
shmdt |
拆卸共享内存 |
网络常用的linux系统调用的更多相关文章
- 常用的Linux系统调用命令
常用的Linux系统调用命令 下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上“*”号以示区别. 一.进程控制 ...
- 【Linux技术】常用的Linux系统调用
下面一些函数已经过时,被新的更好的函数所代替了(gcc在链接这些函数时会发出警告),但因为兼容的原因还保留着,这些函数将在前面标上“*”号以示区别. 一.进程控制 fork 创建一个新进程 clone ...
- 别出心裁的Linux系统调用学习法
别出心裁的Linux系统调用学习法 操作系统与系统调用 操作系统(Operating System,简称OS)是计算机中最重要的系统软件,是这样的一组系统程序的集成:这些系统程序在用户对计算机的使用中 ...
- 关于Linux系统调用,内核函数【转】
转自:http://blog.csdn.net/ubuntulover/article/details/5988220 早上听人说到某个程序的一部分是内核态,另一部分是用户态,需要怎么怎么.当时突然想 ...
- [Linux]Linux系统调用列表
本文列出了大部分常见的Linux系统调用,并附有简要中文说明. 以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数.这可能是你在互联网上所能看到的唯一一篇中文注释的 ...
- 开发过程中常用的Linux命令
做Java开发好几年了,部署JavaWeb到服务器上,一般都选择Linux,Linux作为服务器真是不二之选,高性能,只要熟悉Linux,操作快捷,效率很高. 总结一下工作中常用的Linux命令备忘: ...
- 总结:常用的Linux系统监控命令
记录一下自己常用的linux系统命令,方便以后查阅,发觉记忆越来越不行了 找到最耗CPU的java线程 ps命令 命令: ps -mp pid -o THREAD,tid,time 或者 ps -Lf ...
- Linux系统调用(转载)
目录: 1. Linux系统调用原理 2. 系统调用的实现 3. Linux系统调用分类及列表 4.系统调用.用户编程接口(API).系统命令和内核函数的关系 5. Linux系统调用实例 6. Li ...
- Linux网络服务01——Linux网络基础设置
Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...
随机推荐
- 自学Zabbix14.1 二次开发API
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix14.1 二次开发API Zabbix API我们可以做很多,自己开发web界面. ...
- 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表、Hosts_groups表、Interface表
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表.Hosts_grou ...
- JDK源码分析(3)HashMap
JDK版本 HashMap简介 HashMap基于哈希表的 Map 接口的实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.(除了不同步和允许使用 null 之外,Hash ...
- 转载:C++类内存分布
本文转自:http://www.cnblogs.com/jerry19880126/p/3616999.html,原文写的非常好,从中学到了虚继承的概念,也学会了用VS查看内存分布. 说下C++内存分 ...
- java.lang.OutOfMemoryError及解决方案
主要有3种比较常见的OutOfMemory Error: java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: ...
- mac 中vim永久显示行号、开启语法高亮
步骤1: cp /usr/share/vim/vimrc ~/.vimrc 先复制一份vim配置模板到个人目录下 注:redhat 改成 cp /etc/vimrc ~/.vimrc 步骤2: vi ...
- windows 下mysql 重设root密码方法
1.首先在命令行里关闭mysql服务 net stop mysql2.在命令行里进入mysql安装目录下bin目录,以不检查权限的方式启动:mysqld-nt --skip-grant-tables ...
- numpy之一些名称含义(持续更新)
dtype:data type 数据类型 ndarray:n-dimension n维,ndarray:n维数组(多维数组) mean:平均值 std:standard deviation:标准差 p ...
- 批处理 ------ @、ECHO OFF、ECHO ON 的使用
1.在批处理文件中,如果命令前加@,表示这条命令不打印出来,只把结果打印出来,即@是关闭命令本身的回显 2.::在批处理中表示注释某一行 3.ECHO ON表示接下来的命令中(不包括本命令),执行命令 ...
- java连接数据库读取数据出现乱码
因为这是通用编码,像中国通常使用的GBK.GB2312.Big5等只是针对中文而言,但是对其他文字就不适用了,为了使得这个问题的解决具有文字编码通用性,所以我这里设定了UTF8这个编码. 编码一致性涉 ...