1 ./jobs2.sub: line 9: fg: job 1 started without job control
22 [4]- Running sleep 5 &
23 [5]+ Running ( sleep 5; exit 4 ) &
28 [1]- Running sleep 20 &
29 [3]+ Running sleep 20 &
31 ./jobs.tests: line 22: wait: %1: no such job
32 ./jobs.tests: line 27: fg: no job control
35 ./jobs.tests: line 40: wait: `1-1': not a pid or valid job spec
36 ./jobs.tests: line 41: wait: `-4': not a pid or valid job spec
37 wait-for-background-pids
38 async list wait-for-background-pids
39 async list wait for child
43 ./jobs.tests: line 63: wait: %2: no such job
45 async list wait-for-job
56 ./jobs.tests: line 90: fg: %2: no such job
57 ./jobs.tests: line 91: bg: job 1 already in background
59 ./jobs.tests: line 98: fg: -s: invalid option
60 fg: usage: fg [job_spec]
61 ./jobs.tests: line 99: bg: -s: invalid option
62 bg: usage: bg [job_spec ...]
63 ./jobs.tests: line 104: disown: -s: invalid option
64 disown: usage: disown [-h] [-ar] [jobspec ...]
65 ./jobs.tests: line 108: disown: %1: no such job
66 ./jobs.tests: line 111: disown: %2: no such job
68 ./jobs.tests: line 114: wait: pid 1 is not a child of this shell
70 3 -- 1 2 3 -- 1 - 2 - 3
71 [1] Running sleep 300 &
72 [2]- Running sleep 350 &
73 [3]+ Running sleep 400 &
75 [1] Running sleep 300 &
76 [2]- Running sleep 350 &
77 [3]+ Running sleep 400 &
78 ./jobs.tests: line 131: kill: %4: no such job
79 ./jobs.tests: line 133: jobs: %4: no such job
81 [3]+ Running sleep 400 &
83 [2]- Running sleep 350 &
86 [1] Running sleep 300 &
87 [3]- Running sleep 400 &
89 [2]+ Stopped sleep 350
91 [2]+ Stopped sleep 350
92 [3]- Running sleep 400 &
94 [3]- Running sleep 400 &
96 [2]+ Stopped sleep 350
99 [2]+ Running sleep 350 &
100 [3]- Running sleep 400 &
102 after kill -STOP, backgrounding %3:
106 after KILL -STOP, foregrounding %1