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 ./jobs.tests: line 19: wait: %1: no such job
29 ./jobs.tests: line 24: fg: no job control
32 ./jobs.tests: line 37: wait: `1-1': not a pid or valid job spec
33 ./jobs.tests: line 38: wait: `-4': not a pid or valid job spec
34 wait-for-background-pids
35 async list wait-for-background-pids
36 async list wait for child
40 ./jobs.tests: line 60: wait: %2: no such job
42 async list wait-for-job
53 ./jobs.tests: line 87: fg: %2: no such job
54 ./jobs.tests: line 88: bg: job 1 already in background
56 ./jobs.tests: line 95: fg: -s: invalid option
57 fg: usage: fg [job_spec]
58 ./jobs.tests: line 96: bg: -s: invalid option
59 bg: usage: bg [job_spec ...]
60 ./jobs.tests: line 101: disown: -s: invalid option
61 disown: usage: disown [-h] [-ar] [jobspec ...]
62 ./jobs.tests: line 105: disown: %1: no such job
63 ./jobs.tests: line 108: disown: %2: no such job
65 ./jobs.tests: line 111: wait: pid 1 is not a child of this shell
67 3 -- 1 2 3 -- 1 - 2 - 3
68 [1] Running sleep 300 &
69 [2]- Running sleep 350 &
70 [3]+ Running sleep 400 &
72 [1] Running sleep 300 &
73 [2]- Running sleep 350 &
74 [3]+ Running sleep 400 &
75 ./jobs.tests: line 127: kill: %4: no such job
76 ./jobs.tests: line 129: jobs: %4: no such job
78 [3]+ Running sleep 400 &
80 [2]- Running sleep 350 &
83 [1] Running sleep 300 &
84 [3]- Running sleep 400 &
86 [2]+ Stopped sleep 350
88 [2]+ Stopped sleep 350
89 [3]- Running sleep 400 &
91 [3]- Running sleep 400 &
93 [2]+ Stopped sleep 350
96 [2]+ Running sleep 350 &
97 [3]- Running sleep 400 &
99 after kill -STOP, backgrounding %3:
103 after KILL -STOP, foregrounding %1