读内核文档时遇到ioctl(2)、read(2)等,描述这些系统调用时在括号里加个'2'是什么意思?详见帖子

NewThinker_wei 2014-10-05 02:39:03
比如内核文档中的 filesystems/vfs.txt 文件中介绍struct file_operations结构时,有下面这几行:

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
...全文
327 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewThinker_wei 2014-10-06
  • 打赏
  • 举报
回复
多谢,的确如此
zhxianbin 2014-10-05
  • 打赏
  • 举报
回复
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

4,463

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧