gpt4 book ai didi

bash - mpirun 打破了 bash 中的 while 循环

转载 作者:行者123 更新时间:2023-12-02 00:46:01 24 4
gpt4 key购买 nike

我正在尝试使用嵌套在 while 循环中的 mpirun 运行批处理脚本,如下所示

while read line
do
mpirun -np 4 myexec > /dev/null
done < case.txt

但是这个脚本只返回一个循环结果。每当可执行文件完成时,循环就会中断。我还尝试不并行运行代码并且运行良好。如果我用普通的 while 循环替换 while read line,比如 while [ $count -le 9 ],它也可以工作。For 循环也可以。我就是想不通。希望有人能告诉我为什么会这样。

最佳答案

看起来 mpirunstdin 读取,在本例中是 case.txt。这将在循环的第一次运行期间从文件中读取所有行。在下一次尝试 read 时,文件已被完全读取,这就是循环结束的原因。

尝试将 /dev/null 分配给它的标准输入:

while read line
do
mpirun -np 4 myexec > /dev/null < /dev/null
done < case.txt

关于bash - mpirun 打破了 bash 中的 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43741612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com