私は次のループを並列に実行するwhile
ループを持っています。 (logProcess
は、私が以前に私のスクリプトで定義する機能です。)bashでwhileループを並列化する方法は?
while read LINE; do
logProcess $LINE &
done <<< "$ELS_LOGS"
wait
私は、実行中のプロセスの数を制限する方法を見つける必要があります。私は、並列プロセスが動作していることを知っています。どのようにループをそのコマンドを使用するように変換するのですか?
ループ内にps -efとgrep * log *プロセスがあり、行数[wc -l]を確認できます。それが実行したいプロセスの数より多い場合は、プロセスの1つが完了するまでスリープしてから、新しいlogProcessを再度開始することができます。 は必要なものですか? –
'logProcess" $ LINE "ではなく' logProcess $ LINE'ですか? '*'を含む行があれば、コマンドラインに置かれたファイル名のリストを得ることに留意してください。 –