    Wait for job completion and return exit status.
    
    Waits for each process identified by an ID, which may be a process ID or a
    job specification, and reports its termination status.  If ID is not
    given, waits for all currently active child processes, and the return
    status is zero.  If ID is a a job specification, waits for all processes
    in that job's pipeline.
    
    If the -n option is supplied, waits for the next job to terminate and
    returns its exit status.
    
    Exit Status:
    Returns the status of the last ID; fails if ID is invalid or an invalid
    option is given.
