Geoff Clare <[email protected]> wrote, on 17 Jul 2019:
>
> On page 65 line 1924 section 3.202 Job, change:
>
> A set of processes, comprising a shell pipeline, and any processes
> descended from it, that are all in the same process group.
>
> <b>Note:</b> See also [xref to XCU 2.9.2 Pipelines].
>
> to:
>
> An AND-OR list or a pipeline executed from the current shell environment
> when job control is enabled in that environment. An asynchronous AND-OR
> list shall form a single <i>background job</i> and the child process
> created to execute the AND-OR list shall be made a process group leader
> so that the executed commands inherit its process group ID. For a
> sequential AND-OR list, either:
>
> * The whole AND-OR list shall form a single <i>foreground job</i>, or
>
> * Each pipeline in the AND-OR list shall form a separate <i>foreground
> job</i>.
>
> For each pipeline in a foreground job, if the pipeline is executed,
> the set of processes comprising the pipeline, and any processes
> descended from it, shall all be in the same process group, unless
> the shell executes some of the commands in the pipeline in the
> current shell environment and others in a subshell environment; in
> this case the process group ID of the current shell shall not
> change and the process group ID that the other processes all share
> shall differ from the process group ID of the current shell (which
> means that a SIGSTOP, SIGTSTP, SIGTTIN, or SIGTTOU signal sent to
> one of those process groups does not cause the whole pipeline to
> stop).
Probably worth adding at this point:
If a process that the shell is waiting for in a pipeline in a
foreground job is stopped by a SIGSTOP, SIGTSTP, SIGTTIN, or SIGTTOU
signal, the shell shall move the foreground job into the background
and assign it a job number.
--
Geoff Clare <[email protected]>
The Open Group, Apex Plaza, Forbury Road, Reading, RG1 1AX, England