码迷,mamicode.com
首页 > 编程语言 > 详细

shell执行多线程

时间:2019-12-04 23:34:45      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:pre   echo   时间   运行   for   while   code   end   exe   

#!/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执行多线程

标签:pre   echo   时间   运行   for   while   code   end   exe   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!