免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 9484 | 回复: 7
打印 上一主题 下一主题

[文本处理] 后台运行“&”及“wait” 命令运行机制的疑问 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-19 22:23 |只看该作者 |倒序浏览
我编写了一个shell程序,测试未成功,查找许久未找到原因,我怀疑是&和wait命令用错了。因程序过于复杂,我写了一个简单代码,请大侠指点。

a.sh调用b1.sh和b2.sh子脚本,b1.sh再调用c.sh,其中c.sh是调用ping命令求节点主机丢包率,大约运行30秒。
我希望b1.sh全部运行结束后再运行b2.sh,代码如下:
  1. cat a.sh

  2. #!/bin/bash
  3. sh b1.sh
  4. wait
  5. sh b2.sh
复制代码
  1. cat b1.sh
  2. #!/bin/bash
  3. for((i=1;i<=10;i++));  do
  4.     sh  c.sh &
  5. done
复制代码

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
2 [报告]
发表于 2013-07-19 22:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
3 [报告]
发表于 2013-07-19 22:39 |只看该作者
回复 2# zooyo


    这么说,我上面的代码没有错?

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
4 [报告]
发表于 2013-07-19 23:13 |只看该作者
上面的代码还是有问题。

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
5 [报告]
发表于 2013-07-20 09:58 |只看该作者
  友情帮顶,同求答案。

论坛徽章:
60
20周年集字徽章-20	
日期:2020-10-28 14:04:3015-16赛季CBA联赛之北京
日期:2016-07-06 15:42:0715-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:5315-16赛季CBA联赛之广东
日期:2016-07-12 14:58:53
6 [报告]
发表于 2013-07-20 10:13 |只看该作者
  1. cat b1.sh
  2. #!/bin/bash
  3. for((i=1;i<=10;i++));  do
  4.     sh  c.sh &
  5. done
  6. wait
复制代码
cat a.sh

#!/bin/bash
sh b1.sh
sh b2.sh

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
7 [报告]
发表于 2013-07-20 10:27 |只看该作者
回复 6# reyleon


    顶楼上啊~  测试正常了,wait要放在b1.sh里面,等待c.sh子进程运行结束后,父进程在执行后续操作啊。。

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-15 06:20:01
8 [报告]
发表于 2013-07-20 11:12 |只看该作者
回复 7# reb00t


    是这样啊。
    多谢哈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP