Message ID | 61501d4a.OSIdlouybdqIzH3I%rmy@frippery.org (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Herbert Xu |
Headers | show |
Series | jobs: Report creation of background jobs | expand |
On Sun, Sep 26, 2021 at 08:12:10AM +0100, Ron Yorston wrote: > Although it doesn't seem to be in POSIX it's relatively common > for interactive shells to report details of jobs run in the > background. bash, ksh and tcsh report job id and pid while > the Bourne shell from Unix V7 reports only the pid. > > This from bash: > > $ sleep 100 & sleep 200 & > [1] 4626 > [2] 4627 > $ sleep 300 | sleep 400 & > [3] 4636 > $ jobs -l > [1] 4626 Running sleep 100 & > [2]- 4627 Running sleep 200 & > [3]+ 4635 Running sleep 300 > 4636 | sleep 400 & > > Unlike reporting of job completions such messages are not controlled > by 'set -m'. > > ash has never supported reporting of the creation of background > jobs. Add this feature to dash. > > Signed-off-by: Ron Yorston <rmy@frippery.org> > --- > src/jobs.c | 2 ++ > 1 file changed, 2 insertions(+) Thanks but as minimalism is one of the primary goals of dash I won't be applying this.
diff --git a/src/jobs.c b/src/jobs.c index f3b9ffc..4e0cdcc 100644 --- a/src/jobs.c +++ b/src/jobs.c @@ -932,6 +932,8 @@ static void forkparent(struct job *jp, union node *n, int mode, pid_t pid) if (mode == FORK_BG) { backgndpid = pid; /* set $! */ set_curjob(jp, CUR_RUNNING); + if (iflag && jp && jp->nprocs == 0) + outfmt(out2, "[%d] %d\n", jobno(jp), pid); } if (jp) { struct procstat *ps = &jp->ps[jp->nprocs++];
Although it doesn't seem to be in POSIX it's relatively common for interactive shells to report details of jobs run in the background. bash, ksh and tcsh report job id and pid while the Bourne shell from Unix V7 reports only the pid. This from bash: $ sleep 100 & sleep 200 & [1] 4626 [2] 4627 $ sleep 300 | sleep 400 & [3] 4636 $ jobs -l [1] 4626 Running sleep 100 & [2]- 4627 Running sleep 200 & [3]+ 4635 Running sleep 300 4636 | sleep 400 & Unlike reporting of job completions such messages are not controlled by 'set -m'. ash has never supported reporting of the creation of background jobs. Add this feature to dash. Signed-off-by: Ron Yorston <rmy@frippery.org> --- src/jobs.c | 2 ++ 1 file changed, 2 insertions(+)