使用带有数值的系统调用有什么重要意义?

时间:2016-01-04 18:48:04

标签: linux linux-kernel linux-device-driver wait system-calls

我想知道使用带数值的系统调用是否有任何意义?
例如,请wait(4)exit(3)。我希望链接到这些的一些文档或解释。

2 个答案:

答案 0 :(得分:5)

如果您在括号中看到命令,函数或系统调用的名称后跟一位数字,则通常是指可以找到该手册页的部分。

我怀疑你实际上看到wait(2)exit(3)

例如,rm(1)引用rm命令的手册页,它位于第1部分(用户命令)中,wait(2)引用wait的手册页。 1}}系统调用,在第2节(系统调用)中。

没有引用要传递的参数。

阅读手册页时,您可以输入:

man 2 wait

或者,在某些系统上:

man -s 2 wait

指定所需的部分。这通常不是必需的,但如果相同的名称出现在多个部分中,则可能很重要 - 例如printf(1)命令和printf(3)函数。

输入man man以查看各个部分的列表:

  1. 可执行程序或shell命令
  2. 系统调用(内核提供的功能)
  3. 库调用(程序库中的函数)
  4. 如果您想了解特定函数的参数,请阅读该函数的手册页。 (例如,wait()采用int*参数,而不是整数,并返回pid_t结果。)

答案 1 :(得分:2)

您将在手册页中找到最佳答案。而对于exit() - 有一个简单的目的 - 它表示exit_code,所以方便的是exit(0)代表脚本的正常结束,所有其他值意味着不同的错误。