1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
./jobs2.sub: line 9: fg: job 1 started without job control
fg: 1
Waiting for job 0
job 0 returns 0
Waiting for job 1
job 1 returns 0
Waiting for job 2
job 2 returns 0
Waiting for job 3
job 3 returns 0
Waiting for job 4
job 4 returns 0
Waiting for job 5
job 5 returns 0
Waiting for job 6
job 6 returns 0
Waiting for job 7
job 7 returns 0
[1] Running sleep 2 &
[2] Running sleep 2 &
[3] Running sleep 2 &
[4]- Running sleep 2 &
[5]+ Running ( sleep 2; exit 4 ) &
4
0
i killed it
12
[1]- Running sleep 20 &
[3]+ Running sleep 20 &
5: ok 1
./jobs5.sub: line 40: wait: %8: no such job
2: ok 2
2: ok 3
127
./jobs5.sub: line 71: declare: wpid: not found
./jobs5.sub: line 74: wait: `invalid-varname': not a valid identifier
./jobs5.sub: line 76: wait: WV: cannot unset: readonly variable
child1 exit status 0
[1]+ Running sleep 20 &
./jobs7.sub: line 5: fg: no current jobs
[1]+ Running sleep 20 &
got USR1
0
./jobs.tests: line 45: wait: %1: no such job
./jobs.tests: line 50: fg: no job control
wait-for-pid
wait-errors
./jobs.tests: line 70: wait: `1-1': not a pid or valid job spec
./jobs.tests: line 71: wait: `-4': not a pid or valid job spec
wait-for-background-pids
async list wait-for-background-pids
async list wait for child
forked
wait-when-no-children
posix jobs output
[1]+ Done sleep 1
wait-for-job
./jobs.tests: line 96: wait: %2: no such job
127
async list wait-for-job
forked
fg-bg 1
sleep 2
fg-bg 2
sleep 2
fg-bg 3
sleep 2
fg-bg 4
sleep 2
fg-bg 5
./jobs.tests: line 123: fg: %2: no such job
./jobs.tests: line 124: bg: job 1 already in background
fg-bg 6
./jobs.tests: line 131: fg: -s: invalid option
fg: usage: fg [job_spec]
./jobs.tests: line 132: bg: -s: invalid option
bg: usage: bg [job_spec ...]
./jobs.tests: line 137: disown: -s: invalid option
disown: usage: disown [-h] [-ar] [jobspec ... | pid ...]
./jobs.tests: line 141: disown: %1: no such job
./jobs.tests: line 144: disown: %2: no such job
./jobs.tests: line 147: disown: warning: @12: job specification requires leading `%'
./jobs.tests: line 147: disown: @12: no such job
wait-for-non-child
./jobs.tests: line 150: wait: pid 1 is not a child of this shell
127
3 -- 1 2 3 -- 1 - 2 - 3
[1] Running sleep 300 &
[2]- Running sleep 350 &
[3]+ Running sleep 400 &
running jobs:
[1] Running sleep 300 &
[2]- Running sleep 350 &
[3]+ Running sleep 400 &
./jobs.tests: line 167: kill: %4: no such job
./jobs.tests: line 169: jobs: %4: no such job
current job:
[3]+ Running sleep 400 &
previous job:
[2]- Running sleep 350 &
after kill -STOP
running jobs:
[1] Running sleep 300 &
[3]- Running sleep 400 &
stopped jobs:
[2]+ Stopped sleep 350
after disown
[2]+ Stopped sleep 350
[3]- Running sleep 400 &
running jobs:
[3]- Running sleep 400 &
stopped jobs:
[2]+ Stopped sleep 350
after kill -s CONT
running jobs:
[2]+ Running sleep 350 &
[3]- Running sleep 400 &
stopped jobs:
after kill -STOP, backgrounding %3:
[3]+ sleep 400 &
killing...
done
after KILL -STOP, foregrounding %1
sleep 4
done
./jobs.tests: line 229: jobs: -q: invalid option
jobs: usage: jobs [-lnprs] [jobspec ...] or jobs -x command [args]
./jobs.tests: line 231: suspend: -z: invalid option
suspend: usage: suspend [-f]
./jobs.tests: line 232: suspend: cannot suspend: no job control
./jobs.tests: line 233: suspend: cannot suspend: no job control
|