免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Ray001
打印 上一主题 下一主题

[学习共享] shell并发脚本,很实用 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2010-04-26 12:24 |只看该作者
关键是echo > &4 前面的分号 : “;”
回一个 赚3分

论坛徽章:
1
狮子座
日期:2013-11-13 22:28:35
32 [报告]
发表于 2010-04-26 15:51 |只看该作者
回复  chenryn


    为了维持里面 一直有 n个元素

类似  shift   之后   push
nuclearxin 发表于 2010-04-26 12:19



    一个进程占用一个元素?可是为什么要是空行呢?
我把echo改成echo -en "\n"可以;改成echo -en " "或者干脆echo a;就不行……
对这个不太懂,请你多解释一下了,谢谢哈~~

论坛徽章:
0
33 [报告]
发表于 2010-04-26 16:05 |只看该作者
回复 32# chenryn

开始里面有排队3个;
无所谓 输入进去&4 的是什么
你可以 echo shit  
echo a
echo b
echo d
啥都行 近一个出一个
只要有东西就ok
fifo的特性。就像perl的 thread的queue

论坛徽章:
0
34 [报告]
发表于 2010-04-26 16:13 |只看该作者
别忘加引号

论坛徽章:
0
35 [报告]
发表于 2010-04-26 16:14 |只看该作者
我猜你 >前面忘了用 空格了吧

论坛徽章:
0
36 [报告]
发表于 2010-04-27 08:02 |只看该作者
回复 31# nuclearxin


    exec 4<>$TMPFILE
rm -f $TMPFILE
{
        count=$PARALLEL
        while [ $count -gt 0 ]
        do
                echo
                let count=$count-1
        done
} >&4

#从任务列表 seq 中按次序获取每一个任务
while read SEC
do
        read <&4
        (  exec_cmd ${SEC} || echo ${SEC}>>${FAILURE_FLAG} ; echo >&4 ) &
done<$CMD_CFG
wait
exec 4>&-

这一段还是没看懂之间的进程间的联系
请高手指点一下

论坛徽章:
0
37 [报告]
发表于 2010-04-27 12:51 |只看该作者
回复 36# woluty

  1. exec 4<>$TMPFILE
  2. rm -f $TMPFILE
复制代码
这段建立个列队通过fifo命名管道:

  1. {
  2.         count=$PARALLEL
  3.         while [ $count -gt 0 ]
  4.         do
  5.                 echo
  6.                 let count=$count-1
  7.         done
  8. } >&4
复制代码
这段 向列队理如数($PARALLEL)个东西。无所谓啥东西 只要放进去就ok 。这段code放进去的是 空行

  1. #从任务列表 seq 中按次序获取每一个任务
  2. while read SEC
  3. do
  4.         read <&4
  5.         (  exec_cmd ${SEC} || echo ${SEC}>>${FAILURE_FLAG} ; echo >&4 ) &
  6. done<$CMD_CFG
  7. wait
  8. exec 4>&-
复制代码
这段 shift  和 push 过程
read是读取列队fd4里面的东西让里面变成($PARALLEL -1)个 。
echo >&4 是向里面写东西维持里面的数据,“;”分号确保命令执行完毕之后 在echo
当没有数据在 列队里面程序就会 被卡主。等待过程
exec 4>&- 关闭fd

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
38 [报告]
发表于 2010-04-27 12:56 |只看该作者
是信号的值,在linux下使用kill -l 可以列出。
/home/ray001 >kill -l
1) SIGHUP       2) SIGINT     ...
Ray001 发表于 2008-11-05 18:53

从工业化的角度来考虑,是不是用名字更合适一些呢?
还是说 trap 不支持名字?

论坛徽章:
0
39 [报告]
发表于 2010-04-28 07:40 |只看该作者
回复 37# nuclearxin


    谢谢
进程间的联系大概明白了
测试看看

论坛徽章:
0
40 [报告]
发表于 2010-04-28 08:53 |只看该作者
好东西,先留个脚印!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP