【问题标题】:What is the significant of using system calls with a numeric value?使用带有数值的系统调用有什么意义?
【发布时间】:2016-01-04 18:48:04
【问题描述】:

我想知道使用带有数值的系统调用是否有任何意义?
wait(4)exit(3) 为例。我想要一个指向这些文档或解释的链接。

【问题讨论】:

  • man 是你的朋友...例如man wait :)
  • @vitozev man 2 wait,实际上

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


【解决方案1】:

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

我怀疑您实际上看到的是 wait(2)exit(3)

例如,rm(1) 指的是rm 命令的手册页,位于第 1 节(用户命令)中,wait(2) 指的是wait 系统调用的手册页,即在第 2 节(系统调用)中。

引用要传递的参数。

阅读手册页时,您会输入:

man 2 wait

或者,在某些系统上:

man -s 2 wait

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

输入 man man 以查看部分列表:

  1. 可执行程序或 shell 命令
  2. 系统调用(内核提供的函数)
  3. 库调用(程序库中的函数)

等等

如果您想了解特定函数的参数,请阅读该函数的手册页。 (例如,wait() 接受 int* 参数,而不是整数,并返回 pid_t 结果。)

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我认为您错过了 OP 的实际误解。看我的回答。
    • 哦,谢谢。这个问题有点不清楚。干得好!
    • 嗨 keith 什么是 OP?有些人使用,但我不知道它
    • OP 表示原帖 :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    相关资源
    最近更新 更多