forループを使用して同時に複数のプロセスを開始しようとしています。それぞれのコンソールウィンドウで作成したいと思います。これまで私は以下を持っています:
for i in {1..5}; do konsole -e "./program arg1 arg2"; done
しかし、これは1つずつ実行されるので、同時に実行したいと思います。 「&」を試してみましたが、ループでうまく機能させることはできません。
答え1
&
コマンドの最後に追加してバックグラウンドジョブを開始します。konsole
次のように書くと、ループはバックグラウンドで始まります。
for i in {1..5}; do
konsole -e "./program arg1 arg2" &
done
または一行で、
for i in {1..5}; do konsole -e "./program arg1 arg2" & done
これは(および改行文字や他のいくつか)などの&
コマンドターミネーターなので、;
変える;
もともとそこにあったもの。
開始されたバックグラウンド操作が完了するまでスクリプトが待機するようにするには、wait
最後に以下を追加します。
for i in {1..5}; do konsole -e "./program arg1 arg2" & done; wait