xargsを使用して、より複雑な関数を並列に呼び出そうとしています。
#!/bin/bash
echo_var(){
echo $1
return 0
}
seq -f "n%04g" 1 100 |xargs -n 1 -P 10 -i echo_var {}
exit 0
これはエラーを返します
xargs: echo_var: No such file or directory
これを達成するためにxargsをどのように使用できるか、またはその他の解決策に関するアイデアがあれば歓迎します。
2
危険、user1148366、危険!並列プログラミングにbashを使用しないでください。非常に多くの問題が発生します。C / C ++とpthreads、Javaスレッド、または何をしているのかについて長く考えにくいものを使用します。並列プログラミングは正しく理解するために多くのことを考えているためです。
—
デビッドサウザー
@DavidSoutherこれらすべての画像ファイルをpngに変換するなど、タスクが独立している場合は、心配しないでください。同期(すべてが完了するのを待つ)と通信が乱れるときです。
—
ctrl-alt-delor 14
@DavidSouther-私は長い間Java開発者であり、最近グルーヴィーな仕事をしています。そして私は人々に言い続けます:友達は友達にbashスクリプトを書かせません。(sad face :()私はbashで並列処理に従事しています。groovy/ javaですぐに実行できました。Bad!
—
Christian Bongiorno