GNU/Linux >> Linux の 問題 >  >> Linux

限られた数のコマンドを並行して処理する Bash スクリプト

平行を参照してください。その構文は xargs に似ています が、コマンドを並行して実行します。


wait を使用 組み込み:

process1 &
process2 &
process3 &
process4 &
wait
process5 &
process6 &
process7 &
process8 &
wait

上記の例の場合、4 つのプロセス process1 ... process4 バックグラウンドで開始され、シェルはそれらが完了するまで待ってから次のセットを開始します。

GNU マニュアルから:

wait [jobspec or pid ...]

各プロセス ID pid またはジョブ指定 jobspec で指定された子プロセスが終了するまで待機し、最後に待機したコマンドの終了ステータスを返します。ジョブ仕様が指定されている場合、ジョブ内のすべてのプロセスが待機されます。引数が指定されていない場合、現在アクティブなすべての子プロセスが待機され、戻りステータスはゼロになります。 jobspec も pid もシェルのアクティブな子プロセスを指定しない場合、戻りステータスは 127 です。


Linux
  1. Ctrl+C を使用して、Bash スクリプトで開始されたすべてのバックグラウンド プロセスを強制終了する方法は?

  2. bash スクリプトのコマンドとターミナルのコマンドの違い

  3. コマンドからのリアルタイム値の変化を示す Bash スクリプト

  1. Bash履歴コマンドの使用方法

  2. Bashスクリプトをデバッグする方法は?

  3. パイプコマンドを並行して実行しますか?

  1. Bashでビルド番号を増やしますか?

  2. Bash履歴に保存されるコマンドの数を変更する方法

  3. Bash:タイムアウトで待機