Linux bash多线程处理小型工作

Linux bash多线程处理小型工作,第1张

概述我有一个运行一些数据处理命令10K次的脚本. foreach f (folderName/input*.txt) mycmd $fend 我已经为每个“mycmd $f”定时运行时间为0.25秒. 通过10K运行,它总计超过1小时. 我在16核nehalem上运行它. 如果不在剩余的15个核心上运行,那将是一个巨大的浪费. 我试过&有了睡眠,不知何故,脚本会在3900次迭代时死于警告或错误, 我有一个运行一些数据处理命令10K次的脚本.

foreach f (foldername/input*.txt)  mycmd $fend

我已经为每个“mycmd $f”定时运行时间为0.25秒.
通过10K运行,它总计超过1小时.
我在16核nehalem上运行它.
如果不在剩余的15个核心上运行,那将是一个巨大的浪费.

我试过&有了睡眠,不知何故,脚本会在3900次迭代时死于警告或错误,见下文.睡眠时间越短,死亡的速度越快.

foreach f (foldername/input*.txt)  mycmd $f & ; sleep 0.1end

必须有一个更好的方法.
注意:我更喜欢shell脚本解决方案,让我们不要徘徊在C/C++领域.

谢谢

问候

解决方法 将文件列表传递给

xargs -n 1 -P 16 mycmd

例如:

echo foldername/input*.txt | xargs -n 1 -P 16 mycmd
总结

以上是内存溢出为你收集整理的Linux bash多线程/处理小型工作全部内容,希望文章能够帮你解决Linux bash多线程/处理小型工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1021128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存