iojsioi 发表于 2018-8-28 12:20:19

如何实现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]
查看完整版本: 如何实现shell并发