Linux bash多线程/处理小型工作
发布时间:2020-12-13 23:50:50 所属栏目:Linux 来源:网络整理
导读:我有一个运行一些数据处理命令10K次的脚本. foreach f (folderName/input*.txt) mycmd $fend 我已经为每个“mycmd $f”定时运行时间为0.25秒. 通过10K运行,它总计超过1小时. 我在16核nehalem上运行它. 如果不在剩余的15个核心上运行,那将是一个巨大的浪费.
我有一个运行一些数据处理命令10K次的脚本.
foreach f (folderName/input*.txt) mycmd $f end 我已经为每个“mycmd $f”定时运行时间为0.25秒. 我试过&有了睡眠,不知何故,脚本会在3900次迭代时死于警告或错误,见下文.睡眠时间越短,死亡的速度越快. foreach f (folderName/input*.txt) mycmd $f & ; sleep 0.1 end 必须有一个更好的方法. 谢谢 问候 解决方法
将文件列表传递给
xargs -n 1 -P 16 mycmd 例如: echo folderName/input*.txt | xargs -n 1 -P 16 mycmd (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |