仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 630|回复: 7
打印 上一主题 下一主题

[shell编程] 来一发shell里完成‘多线程’

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!即好比我有100个可实行文件,相互间没有出格的前后实行干系,如
CODE:
job_1
job_2
job_2
.....
job_100想用csh/bash来多线程挪用实行
好比一次开5个线程,那末job_1,2,3,4,5一同先入手下手,那末个中任何一个线程假如先实行完成,则持续实行下一个没有初实行过的文件,如job_6,7,8....,如许一向以所指定的线程数来实行一切100个文件。
我原本想用"&"来放进背景,但是如许我一次能够指定5放进背景,可是没法晓得个中任何一个步伐什么时候实行终了,以是也没法持续实行下一个步伐啊!

完善办理计划
  1. -(dearvoid@LinuxEden:Forum)-(~/tmp)-[$$=6718$?=0];catjob_1#!/bin/bashn=$((RANDOM%5+1))echo"$0sleepingfor$nseconds..."sleep$necho"$0exiting..."-(dearvoid@LinuxEden:Forum)-(~/tmp)-[$$=6718$?=0];for((i=2;i<=10;++i));docpjob_1job_$i;done-(dearvoid@LinuxEden:Forum)-(~/tmp)-[$$=6718$?=0];catjobs.sh#!/bin/bashnParellel=5nJobs=10sJobPattern=./job_%daJobs=()sNextJob=for((iNextJob=1;iNextJob<=nJobs;));dofor((iJob=0;iJob<nParellel;++iJob));doif[$iNextJob-gt$nJobs];thenbreak;fiif[!"${aJobs[iJob]}"]||!kill-0${aJobs[iJob]}2>/dev/null;thenprintf-vsNextJob"$sJobPattern"$((iNextJob++))echo"$sNextJobstarting..."$sNextJob&aJobs[iJob]=$!fidonesleep.1donewait-(dearvoid@LinuxEden:Forum)-(~/tmp)-[$$=6718$?=0];./jobs.sh./job_1starting..../job_1sleepingfor3seconds..../job_2starting..../job_2sleepingfor2seconds..../job_3starting..../job_3sleepingfor5seconds..../job_4starting..../job_5starting..../job_4sleepingfor4seconds..../job_5sleepingfor2seconds..../job_2exiting..../job_6starting..../job_6sleepingfor2seconds..../job_5exiting..../job_7starting..../job_7sleepingfor1seconds..../job_1exiting..../job_8starting..../job_8sleepingfor3seconds..../job_7exiting..../job_9starting..../job_9sleepingfor5seconds..../job_4exiting..../job_6exiting..../job_10starting..../job_10sleepingfor5seconds..../job_3exiting..../job_8exiting..../job_9exiting..../job_10exiting...-(dearvoid@LinuxEden:Forum)-(~/tmp)-[$$=6718$?=0];bye
复制代码


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
莫相离 该用户已被删除
沙发
发表于 2015-1-15 08:22:19 | 只看该作者

来一发shell里完成‘多线程’

路过帮顶嘿嘿
透明 该用户已被删除
板凳
发表于 2015-1-30 23:07:56 | 只看该作者
即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
小女巫 该用户已被删除
地板
发表于 2015-2-6 17:09:40 | 只看该作者
其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。
精灵巫婆 该用户已被删除
5#
发表于 2015-2-17 19:07:11 | 只看该作者
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
若天明 该用户已被删除
6#
发表于 2015-3-5 23:41:20 | 只看该作者
主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
简单生活 该用户已被删除
7#
发表于 2015-3-12 17:54:55 | 只看该作者
就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务
飘灵儿 该用户已被删除
8#
发表于 2015-3-20 02:11:41 | 只看该作者
你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-12 08:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表