wait4

Function wait4 

Source
pub fn wait4(
    pid: c_int,
    wstatus: *mut c_int,
    options: c_int,
    _rusage: *mut Rusage,
) -> c_int
Expand description

等待子进程状态变化(wait4)

§说明

状态变化包括: 1. 子进程已终止; 2. 子进程被信号停止; 3. 子进程被信号恢复。 对于已终止的子进程,执行等待操作可以让系统释放与该子进程关联的资源;

§参数

  • pid:
    1. 0 表示需要等待的子进程ID

    2. 0 表示等待同一进程组的任意子进程
    3. -1 表示等待任意子进程
    4. < -1 表示等待进程组ID等于 pid 绝对值的任意子进程
  • wstatus: 指向存储子进程状态的整数指针
  • options: 等待选项标志
  • rusage: 指向存储资源使用情况的 rusage 结构体指针

§返回值

  • 成功返回子进程 ID, 如果设置了 NOHANG 标志且没有满足条件的子进程,则立即返回 0,失败返回负错误码 TODO:
  1. rusage 参数的处理
  2. 信号处理
  3. 错误处理