Unix 系统调用名称后面的 (2) 是什么意思?

Rer*_*odo 5 c unix linux

我正在查看大学任务的一些文档,注意到所有系统调用后面都跟有 (2),例如 execv(2)、fork(2) 或 fcntl(2)。他们代表什么?

kni*_*ttl 6

Linux 手册页按部分分组。第2节是“系统调用(内核提供的函数)”。

  1. 可执行程序或 shell 命令
  2. 系统调用(内核提供的函数)
  3. 库调用(程序库中的函数)
  4. 特殊文件(通常位于 /dev 中)
  5. 文件格式和约定,例如 /etc/passwd
  6. 游戏
  7. 其他(包括宏包和约定),例如 man(7)、groff(7)
  8. 系统管理命令(通常仅适用于root)
  9. 内核例程【非标准】

有些手册页,例如unlink存在于多个类别中(例如1和2),因此要浏览特定类别的页面,请运行man section page(例如man 2 unlink浏览系统调用手册)或man page.section(例如man unlink.2)。