首页 > 编程语言 > 详细

shell执行多线程

时间:2019-12-04 23:44:06      阅读:77      评论:0      收藏:0      [点我收藏+]
#!/bin/bash --login 

rundateE=$2
rundateStart=$1
rundate=`date -d "$rundateStart" +%s`
rundateEnd=`date -d "$rundateE" +%s`

# 加入所执行程序所在目录
cd /usr/web/script/sqlserver2hdfs

trap "exec 1000>&-;exec 1000<&-;exit 0" 2

mkfifo testfifo
exec 1000<>testfifo
rm -fr testfifo

for ((n=1;n<=20;n++))
do
  echo >&1000
done

start=`date "+%s"`
while [ "$rundate" -le "$rundateEnd" ]
do
  run=$(date -d @$rundate +"%Y%m%d")
  read -u1000
  {
   # 要多进程运行的脚本 $run 为时间
   echo pystreaming pianhao $run
   sleep 3
   echo >&1000
  }&
  rundate=$((rundate+86400))
done
wait
end=`date "+%s"`
let return=$end-$start
echo "Time: $return"

exec 1000>&-
exec 1000<&-

shell执行多线程

原文:https://www.cnblogs.com/QFKing/p/11986435.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!