1つのコマンドでプロセスのたとえば10個のインスタンス(たとえばyes)を作成する方法はありますか?
$instantiate 10 yes
次のようなもので大丈夫ですか?これは、bash(ブレース拡張用)とGNU並列)を想定しています。
parallel -N0 -j0 -u yes ::: {1..10}
-j0
設定は、パラメータと同じ数のプロセスが開始されることを確認するためにあり、-u
(グループ解除)があり、各プロセスの出力が利用可能になるとすぐに出力されます(yes
の場合、出力が無限であるため、これは重要です)。 -N0
引数がコマンドラインに挿入されないようにします。
@dhagには確かに1行の答えがありますが、構文によって目が痛くなります。 :)
あなたが単一のコマンドを要求し、シェルが単一の(複合)コマンドを実行することを検討しているので、私はこのはるかに読みやすいバージョンで正当化されていると感じています:
_for i in {1..10}; do yes &; done
_
一部のシェルは自動的にバックグラウンドジョブをNice(2)
するため、それが問題である場合、これは最善の解決策ではないことに注意してください。