【问题标题】:Return value of waitpid() in linuxlinux中waitpid()的返回值
【发布时间】:2015-02-25 20:05:00
【问题描述】:

当waitpid()函数以如下方式实现时,当孩子因SIGTSTP信号而停止时它返回什么?为什么?

waitpid(pid,&status,WUNTRACED);
其中 pid 是任何进程的进程 ID,status 是 int 类型。

它是否也会暂停调用进程,直到它没有找到任何停止或终止的子进程,或者它不会影响正在进行的进程?

【问题讨论】:

    标签: linux signals waitpid


    【解决方案1】:

    它返回停止的子进程的进程ID。

    POSIX 声明

    WUNTRACED

    pid 指定的任何已停止的子进程的状态,以及自停止后尚未报告其状态的子进程的状态,也应报告给请求进程。

    如果wait()waitpid() 因为子进程的状态可用而返回,这些函数应返回一个等于报告status 的子进程的进程ID 的值。 (...)

    here.

    这个返回值当然是如果有多个子进程并且调用中的pid0或者更少,这样你就不会提前知道上报的子进程的PID就更有意思了,但不管怎样,你都明白。

    【讨论】:

      猜你喜欢
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多