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
|
我的博客已迁移到xdoujiang.com请去那边和我交流
shell的单、多、控制进程的使用方法
一、100个任务使用200秒(普通完成)
cat
process2.sh
#!/bin/bash
function
aaa ()
{
start=`
date
"+%s"
`
for
((i=1;i<=100;i++))
do
echo
test
;
sleep
2
done
end=`
date
"+%s"
`
echo
"time:`expr $end - $start`"
}
aaa
exit
0
================执行结果=================
time
:200
real 3m20.338s
user 0m0.032s
sys 0m0.008s
二、100个任务使用2秒(非控制进程完成任务)
cat
process1.sh
#!/bin/bash
function
aaa ()
{
start=`
date
"+%s"
`
for
((i=1;i<=100;i++))
do
(
echo
test
;
sleep
2
)&
done
wait
end=`
date
"+%s"
`
echo
"time:`expr $end - $start`"
}
aaa
exit
0
================执行结果=================
time
bash
process1.sh
time
:2
real 0m2.259s
user 0m0.008s
sys 0m0.020s
三、100个任务使用20秒(控制进程完成任务,生产环境使用)
cat
process.sh
function
aaa () {
start=`
date
"+%s"
`
for
((i=1;i<=100;i++))
do
(
echo
111;
sleep
2
)&
[[ $i%10 -
eq
0 ]] && wait
done
wait
end=`
date
"+%s"
`
echo
"time:`expr $end - $start`"
}
aaa
exit
0
================执行结果=================
time
bash
process.sh
time
:20
real 0m20.376s
user 0m0.000s
sys 0m0.032s
|
本文转自 xdoujiang 51CTO博客,原文链接:http://blog.51cto.com/7938217/1653487,如需转载请自行联系原作者