来一发shell里完成‘多线程’
如果您觉得本篇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放进背景,可是没法晓得个中任何一个步伐什么时候实行终了,以是也没法持续实行下一个步伐啊!
完善办理计划
-(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}"]||!kill-0${aJobs}2>/dev/null;thenprintf-vsNextJob"$sJobPattern"$((iNextJob++))echo"$sNextJobstarting..."$sNextJob&aJobs=$!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教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
来一发shell里完成‘多线程’
路过帮顶嘿嘿 即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。 其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。 尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助. 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。 就这样,我们一边上OS理论课,一边上这个实验,这样挺互补的,老师讲课,一步一步地布置任务 你需要提供精确有效的信息。Linux这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。
页:
[1]