私は単純化するために、複数のパラメータのためのシェルスクリプトを実行し、いくつかのPerlコードを、持っている、私はちょうど私がこのようなコードを持っていると仮定します:system()でバックグラウンドで起動した子プロセスのためにPerlが待機するようにするにはどうすればよいですか?
for $p (@a){
system("/path/to/file.sh $p&");
}
私は後にいくつかのより多くの事をしたいと思いますしかし、私はすべての子プロセスが完了するのを待ってから続行する方法を見つけることができません。
fork()を使用するようにコードを変換するのは難しいでしょう。簡単な方法はありませんか?
file.shの実際のリターンコードが必要ですか?完了したらファイルに書き込むようにスクリプトを変更できますか? – mkb
なぜコードをフォークに変換するのが難しいのですか?サブルーチンのすべての詳細を非表示にします。 system()を再定義して、新しいサブルーチンを呼び出すことさえできます。 –
私はたぶんこの部分を分岐して別のスクリプトに分割し、それをシステムコールから呼び出します。 –