summaryrefslogtreecommitdiff
path: root/jobs.c
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2021-06-07 16:36:05 +0200
committerJohn Ankarström <john@ankarstrom.se>2021-06-08 01:50:54 +0200
commit7aaf4f2423e2bcabce508e91255de673db50b728 (patch)
treecfdfc247185d7a97fce6f96110fb964f00b766fe /jobs.c
parent60b250c267e9ce69f428fd2f0f56a4b1a54f2004 (diff)
downloadksh-master.tar.gz
Add [-w write-file] optionHEADmaster
ksh will write lines to write-file containing information about the status of the shell: after prompt: empty line after command entry: "cmd" followed by command after cwd change: "cwd" followed by new cwd fg is handled specially, printing a new "cmd" line with the original command associated with the job.
Diffstat (limited to 'jobs.c')
-rw-r--r--jobs.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/jobs.c b/jobs.c
index c8cc781..65c364f 100644
--- a/jobs.c
+++ b/jobs.c
@@ -840,6 +840,8 @@ j_resume(cp, bg)
shprintf("[%d] ", j->job);
running = 0;
+ if (writefd)
+ dprintf(writefd, "cmd");
for (p = j->proc_list; p != (Proc *) 0; p = p->next) {
if (p->state == PSTOPPED) {
p->state = PRUNNING;
@@ -847,9 +849,14 @@ j_resume(cp, bg)
running = 1;
}
shprintf("%s%s", p->command, p->next ? "| " : null);
+ if (writefd)
+ dprintf(writefd, "%s%s",
+ p->command, p->next ? "| " : null);
}
shprintf("%s", newline);
shf_flush(shl_stdout);
+ if (writefd)
+ dprintf(writefd, "\n");
if (running)
j->state = PRUNNING;