我有一个包含200条命令的列表/队列,需要在Linux服务器上的shell中运行这些命令.
我只想一次最多运行10个进程(从队列中).有些过程需要几秒钟才能完成,而其他过程则需要更长的时间.
当一个进程完成时,我希望下一个命令从队列中"弹出"并执行.
有人有解决这个问题的代码吗?
Further elaboration:
在某种队列中,有200件工作需要完成.我想一次最多完成10件工作.当一个线程完成一件工作时,它应该向队列询问下一件工作.如果队列中没有更多的工作,线程就会死亡.当所有的线程都死掉了,这意味着所有的工作都完成了.
我试图解决的实际问题是使用imapsync
将200个邮箱从旧邮件服务器同步到新邮件服务器.有些用户的邮箱很大,需要很长时间才能同步,有些用户的邮箱很小,同步速度很快.