如何在Bash中启动大量快速作业
我有3000个非常快速的作业要运行,平均需要2/3秒 作业列表在一个文件中,我想控制打开的作业数量 然而,在后台(&line)启动作业的过程本身似乎需要一些时间,因此,一些作业在“INTOTAL”数量开始之前就已经完成了 因此,我没有有效地使用我的32核 该方法是否比下面的方法更好如何在Bash中启动大量快速作业,bash,cygwin,task,Bash,Cygwin,Task,我有3000个非常快速的作业要运行,平均需要2/3秒 作业列表在一个文件中,我想控制打开的作业数量 然而,在后台(&line)启动作业的过程本身似乎需要一些时间,因此,一些作业在“INTOTAL”数量开始之前就已经完成了 因此,我没有有效地使用我的32核 该方法是否比下面的方法更好 #!/bin/sh #set -x INTOTAL=28 while true do NUMRUNNING=`tasklist | egrep Prod.exe | wc -l` JOBS=
#!/bin/sh
#set -x
INTOTAL=28
while true
do
NUMRUNNING=`tasklist | egrep Prod.exe | wc -l`
JOBS=`cat jobs.lst | wc -l`
if [ $JOBS -gt 0 ]
then
MAXSTART=$(($INTOTAL-$NUMRUNNING))
NUMTOSTART=$JOBS
if [ $NUMTOSTART -gt $MAXSTART ]
then
NUMTOSTART=$MAXSTART
fi
echo 'Starting: '$NUMTOSTART
for ((i=1;i<=$NUMTOSTART;i++))
do
JOB=`head -n1 jobs.lst`
sed -i 1d jobs.lst
/Prod $JOB &
done
sleep 2
fi
sleep 3
done
#/垃圾箱/垃圾箱
#集合x
总计=28
虽然是真的
做
NUMRUNNING=`tasklist | egrep Prod.exe | wc-l`
JOBS=`cat JOBS.lst | wc-l`
如果[$JOBS-gt 0]
然后
MAXSTART=$($INTOTAL-$NUMRUNNING))
numstatart=$JOBS
如果[$NUMTOSTART-gt$MAXSTART]
然后
numstatart=$MAXSTART
fi
echo“开始:”$NUMTOSTART
对于((i=1;i您可能需要查看,根据发行说明,您应该能够在Cygwin上安装它。然后并行运行任务可以非常简单,如下所示:
parallel /Prod {} < jobs.lst
您可能想看看,根据发行说明,您应该能够在Cygwin上安装它。然后并行运行任务可以非常简单,如下所示:
parallel /Prod {} < jobs.lst
您可能想看看,根据发行说明,您应该能够在Cygwin上安装它。然后并行运行任务可以非常简单,如下所示:
parallel /Prod {} < jobs.lst
您可能想看看,根据发行说明,您应该能够在Cygwin上安装它。然后并行运行任务可以非常简单,如下所示:
parallel /Prod {} < jobs.lst
@arco444如果我这样做,我会得到-bash:fork:retry:Resource temporary unavailable或在这里搜索[bash]xargs
。祝你好运。@arco444如果我这样做,我会得到-bash:fork:retry:Resource temporary unavailable或在这里搜索[bash]xargs
。祝你好运。@arco444如果我这样做,我会得到-bash:fork:retry:Resource暂时不可用,或者在这里搜索[bash]xargs
。祝你好运。@arco444如果我这样做,我会得到-bash:fork:retry:Resource暂时不可用,或者在这里搜索[bash]xargs
。祝你好运。谢谢,但如果可能的话,我希望保留我现有的结构,因为它对更大的作业非常有效并行
对更大的作业也非常有效。它给了你很多:作业的输出就像它们与-k
串行运行一样,用--bar
选项显示进度条,resum从上一个未完成的工作开始,使用--joblog
和--resume
…谢谢,但如果可能的话,我希望保留我现有的结构,因为它对更大的工作非常有效并行
对更大的工作也非常有效。它给了你很多:作业的输出,就像它们与-k
串行运行一样如何使用--bar
选项的进度条,使用--joblog
和--resume
从上一个未完成的工作恢复…谢谢你,但我希望尽可能保留我现有的结构,因为它对更大的工作非常有效并行
对更大的工作也非常有效obs就像是用-k
串行运行一样,用--bar
选项显示进度条,用--joblog
和--resume
从上一个未完成的工作中恢复过来……谢谢,但如果可能的话,我希望保留我现有的结构,因为它对更大的工作非常有效并行在r更大的作业。并且给了您很多:作业的输出,就像它们与-k
串行运行一样,使用--bar
选项显示进度条,使用--joblog
和--resume
从上一个未完成的作业恢复。。。