如何实现shell并发
很多人都问我如何写shell脚本,如何实现同时给三台ftp服务器上传文件,如何同时检测三台服务器是否alive等,其实这就是想实现shell的并发。那么shell并发该如何实现呢?下面我就拿这个例子来讲:
每次任务都是输出字符“bingfa”,并停留一秒钟,共20次。
按照正常思维,脚本应该这样写:
[*] # cat a.sh
[*] #!/bin/bash
[*] for((i=0;i&9
[*]
[*] for((i=0;i&9
[*] } &
[*] done
[*] wait
[*] rm -f fd2
[*] # time bash d.sh
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*] 1
[*]
[*] real0m7.075s
[*] user0m0.018s
[*] sys0m0.044s
[*] #
这样就ok了,三个线程运行20个任务,7秒多点。
页:
[1]