免费注册 查看新帖 |

Chinaunix

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

[数值计算] 如何加快shell批量获取url状态码的速度? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2013-11-07 15:34 |只看该作者
都对~~回复 8# 惟吾无为


   

论坛徽章:
2
白羊座
日期:2013-11-18 19:52:42辰龙
日期:2014-09-07 07:46:06
12 [报告]
发表于 2013-11-07 16:05 |只看该作者
以前写过类似脚本,但是脚本快不一定是算法好,还可能是带宽大而已。
并行脚本
  1. #!/bin/bash
  2. function url_status()
  3. {
  4.         local url=$1
  5.         local status=$(curl -m 60 -sI $url|head -1|cut -d " " -f2)
  6.         [ "1" != "1" ]
  7.         while [ $? -ne 0 ]; do
  8.         mkdir lock &>/dev/null && printf "%s\t%d\n" $url $status >> "status.txt" && rmdir lock
  9.         done
  10. }

  11. line=0
  12. limit=100
  13. for url in $(cat url.txt); do
  14.         line=$((line+1))
  15.         while [ $(($line - $(cat "status.txt" 2>/dev/null|wc -l ))) -gt $limit ]; do
  16.         :
  17.         done
  18.         url_status "$url" &
  19. done
  20. wait
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP