我试图并行运行这个脚本,因为每组中的i< = 4. runspr.py本身是并行的,没关系.我想要做的是在任何实例中只运行4 i循环. 在我现在的代码中,它将运行一切.
#!bin/bash for i in * do if [[ -d $i ]]; then echo "$i id dir" cd $i python3 ~/bin/runspr.py SCF & cd .. else echo "$i nont dir" fi done
我跟着https://www.biostars.org/p/63816/和https://unix.stackexchange.com/questions/35416/four-tasks-in-parallel-how-do-i-do-that
但无法并行地实现代码.
解决方法
您不需要使用for循环.你可以像这样使用
gnu parallel
找到:
find . -mindepth 1 -maxdepth 1 -type d ! -print0 | parallel -0 --jobs 4 'cd {}; python3 ~/bin/runspr.py SCF'