使用带有数值的系统调用有什么意义?
What is the significant of using system calls with a numeric value?
我想知道使用带有数值的系统调用是否有任何意义?
例如 wait(4)
或 exit(3)
。我希望 link 能得到这些的一些文档或解释。
您将在手册页中找到最佳答案。对于 exit() - 有一个简单的目的 - 它指示 exit_code,所以方便的是 exit(0) 代表脚本的正常完成,所有其他值表示不同的错误。
如果您看到命令、函数或系统调用的名称后跟括号中的一位数字,通常是指可以在其中找到手册页的部分。
我怀疑您实际上看到的是 wait(2)
和 exit(3)
。
例如,rm(1)
指第 1 节(用户命令)中 rm
命令的手册页,wait(2)
指第 1 节(用户命令)的手册页wait
系统调用,在第 2 节(系统调用)中。
它不引用要传递的参数。
阅读手册页时,您将键入:
man 2 wait
或者,在某些系统上:
man -s 2 wait
指定您想要的部分。这通常不是必需的,但如果同一名称出现在多个部分中,这可能很重要——例如 printf(1)
命令和 printf(3)
函数。
键入 man man
以查看部分列表:
- 可执行程序或shell命令
- 系统调用(内核提供的函数)
- 库调用(程序库中的函数)
等等
如果您想了解特定函数的参数,请阅读该函数的手册页。 (例如,wait()
接受一个 int*
参数,而不是一个整数,并且 returns 一个 pid_t
结果。)
我想知道使用带有数值的系统调用是否有任何意义?
例如 wait(4)
或 exit(3)
。我希望 link 能得到这些的一些文档或解释。
您将在手册页中找到最佳答案。对于 exit() - 有一个简单的目的 - 它指示 exit_code,所以方便的是 exit(0) 代表脚本的正常完成,所有其他值表示不同的错误。
如果您看到命令、函数或系统调用的名称后跟括号中的一位数字,通常是指可以在其中找到手册页的部分。
我怀疑您实际上看到的是 wait(2)
和 exit(3)
。
例如,rm(1)
指第 1 节(用户命令)中 rm
命令的手册页,wait(2)
指第 1 节(用户命令)的手册页wait
系统调用,在第 2 节(系统调用)中。
它不引用要传递的参数。
阅读手册页时,您将键入:
man 2 wait
或者,在某些系统上:
man -s 2 wait
指定您想要的部分。这通常不是必需的,但如果同一名称出现在多个部分中,这可能很重要——例如 printf(1)
命令和 printf(3)
函数。
键入 man man
以查看部分列表:
- 可执行程序或shell命令
- 系统调用(内核提供的函数)
- 库调用(程序库中的函数)
等等
如果您想了解特定函数的参数,请阅读该函数的手册页。 (例如,wait()
接受一个 int*
参数,而不是一个整数,并且 returns 一个 pid_t
结果。)