Linux系统调用说明及跟踪

http://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html

strace跟踪

一、进程控制:

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设置会晤标识号

回页首

二、文件系统控制

1、文件读写操作

fcntl文件控制

open打开文件

creat创建新文件

close关闭文件描述字

read读文件

write写文件

readv从文件读入数据到缓冲数组中

writev将缓冲数组里的数据写入文件

pread对文件随机读

pwrite对文件随机写

lseek移动文件指针

_llseek在64位地址空间里移动文件指针

dup复制已打开的文件描述字

dup2按指定条件复制文件描述字

flock文件加/解锁

pollI/O多路转换

truncate截断文件

ftruncate参见truncate

umask设置文件权限掩码

fsync把文件在内存中的部分写回磁盘

2、文件系统操作

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控制磁盘配额

回页首

三、系统控制

ioctlI/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控制

socketcallsocket系统调用

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进程间通信总控制调用

1、信号

sigaction设置对指定信号的处理方法

sigprocmask根据参数对信号集中的信号执行阻塞/解除阻塞等操作

sigpending为指定的被阻塞信号设置队列

sigsuspend挂起进程等待特定信号

signal参见signal

kill向进程或进程组发信号

*sigblock向被阻塞信号掩码中添加信号,已被sigprocmask代替

*siggetmask取得现有阻塞信号掩码,已被sigprocmask代替

*sigsetmask用给定信号掩码替换现有阻塞信号掩码,已被sigprocmask代替

*sigmask将给定的信号转化为掩码,已被sigprocmask代替

*sigpause作用同sigsuspend,已被sigsuspend代替

sigvec为兼容BSD而设的信号处理函数,作用类似sigaction

ssetmaskANSI C的信号处理函数,作用类似sigaction

2、消息

msgctl消息控制操作

msgget获取消息队列

msgsnd发消息

msgrcv取消息

3、管道

pipe创建管道

4、信号量

semctl信号量控制

semget获取一组信号量

semop信号量操作

5、共享内存

shmctl控制共享内存

shmget获取共享内存

shmat连接共享内存

shmdt拆卸共享内存

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容