当前位置: 技术问答>linux和unix
读内核文档时遇到ioctl(2)、read(2)等,描述这些系统调用时在括号里加个'2'是什么意思?详见帖子
来源: 互联网 发布时间:2017-05-30
本文导语: 本帖最后由 NewThinker_wei 于 2014-10-05 14:46:48 编辑 比如内核文档中的 filesystems/vfs.txt 文件中介绍struct file_operations结构时,有下面这几行: unlocked_ioctl: called by the ioctl(2) system call. compat_ioctl: called by the ioct...
unlocked_ioctl: called by the ioctl(2) system call.
compat_ioctl: called by the ioctl(2) system call when 32 bit system calls
are used on 64 bit kernels.
mmap: called by the mmap(2) system call
"ioctl(2) system call" 和 "mmap(2) system call" 就是指 ioctl 和 mmap 这两个系统调用吧,后面加个 (2) 有什么含义?
此外,还有这写网站,里面在描述系统调用时也都加上了小括号2,不知道什么意思
http://bama.ua.edu/cgi-bin/man-cgi?fork+2
|
Linux的man很强大,该手册分成很多section,使用man时可以指定不同的section来浏览,各个section意义如下:
1 - commands
2 - system calls
3 - library calls
4 - special files
5 - file formats and convertions
6 - games for linux
7 - macro packages and conventions
8 - system management commands
9 - 其他
解释一下,
1是普通的命令
2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3是库函数,如printf,fread
4是特殊文件,也就是/dev下的各种设备文件
5是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6是给游戏留的,由各个游戏自己定义
7是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8是系统管理用的命令,这些命令只能由root使用,如ifconfig
想要指定section就直接在man的后面加上数字,比如 :
man 1 ls
man 3 printf
等等
对于像open,kill这种既有命令,又有系统调用的来说,man open则显示的是open(1),也就是从最前面的section开始,如果想查看open系统调用的话,就得man 2 open
转载:http://wenda.so.com/q/1362705856062267
1 - commands
2 - system calls
3 - library calls
4 - special files
5 - file formats and convertions
6 - games for linux
7 - macro packages and conventions
8 - system management commands
9 - 其他
解释一下,
1是普通的命令
2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3是库函数,如printf,fread
4是特殊文件,也就是/dev下的各种设备文件
5是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6是给游戏留的,由各个游戏自己定义
7是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8是系统管理用的命令,这些命令只能由root使用,如ifconfig
想要指定section就直接在man的后面加上数字,比如 :
man 1 ls
man 3 printf
等等
对于像open,kill这种既有命令,又有系统调用的来说,man open则显示的是open(1),也就是从最前面的section开始,如果想查看open系统调用的话,就得man 2 open
转载:http://wenda.so.com/q/1362705856062267
|