dash.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ron Yorston <rmy@frippery.org>
To: dash@vger.kernel.org
Subject: [PATCH] jobs: Report creation of background jobs
Date: Sun, 26 Sep 2021 08:12:10 +0100	[thread overview]
Message-ID: <61501d4a.OSIdlouybdqIzH3I%rmy@frippery.org> (raw)

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(+)

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++];
-- 
2.31.1


                 reply	other threads:[~2021-09-26  7:28 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=61501d4a.OSIdlouybdqIzH3I%rmy@frippery.org \
    --to=rmy@frippery.org \
    --cc=dash@vger.kernel.org \
    --subject='Re: [PATCH] jobs: Report creation of background jobs' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).