在unix中使用wait系统调用

时间:2014-01-23 04:53:35

标签: unix

我对wait的语法有点困惑。在维基百科中,等待的语法是 wait [pid] ,而在手册页中,语法是 pid_t wait(int * status)。我有一种印象,我们不能使用进程的pid调用wait,我们需要使用waitpid。有谁可以清除我的怀疑。这两篇文章的链接如下:

  1. Wikipedia article on Wait(命令)。
  2. Wikipedia article on Wait(系统调用)。
  3. Unix man page on wait(系统调用)。

1 个答案:

答案 0 :(得分:2)

您将shell中的wait命令与编程中使用的类似函数混淆。 shell使用一个名称,并根据其使用方式决定做什么。

如果您使用不带参数的wait命令,则会调用wait()等待任何孩子退出。

如果将wait命令与参数一起使用,则会调用waitpid()以等待该特定PID退出。