※ ChatGPTを利用し、要約された質問です(原文:同時実行数を指定&仕事は共有したい)
同時実行数を制限する方法とスクリプトの共有
このQ&Aのポイント
複数のスクリプトを同時に実行する際に、同時実行数を制限する方法についてご質問です。また、スクリプトの共有についてもお聞かせください。
Ubuntuを使用している方が、複数のスクリプトを同時実行しながら同時実行数を制限する方法を知りたいとのことです。また、同じリソースを共有するスクリプトを実行したいとのことです。
指定した同時実行数で複数のスクリプトを実行する方法や、スクリプトの共有についての質問です。具体的には、同時実行数を制限しながら指定した複数のスクリプトを順次実行する方法や、同じリソースを共有するスクリプトの実行方法について知りたいとのことです。
同時実行数を指定&仕事は共有したい
処理したいスクリプトが複数あります。
・job_a.sh
・job_b.sh
・job_c.sh
・job_d.sh
・job_e.sh
これらのスクリプトは同じリソースを利用するため、同時実行数は2つに制限したいです。
そこで下記のコマンド実行を思いつきました。コマンドの処理時間は事前にはわからないため、下記では偏りが発生し、実行を開始していないスクリプトが残っていても、1つの実行主体が終えてしまう場合があります。
> job_a.sh && job_b.sh && job_c.sh &
> job_d.sh && job_e.sh &
ココを、実行主体は終えずに残りのスクリプトを開始する方法はないでしょうか。
コマンドや、簡単なシェルスクリプトで実現できれば最高です。
こんな要望は、プログラムを作成しプロセスやスレッドを使って実現するべきでしょうか。
私はUbuntuを使っています。
ご助言をお願いします。
お礼
提示いただいたコマンド例で、理想的なシンプルさで実現できました。 大感謝です!!ありがとうございます。 xargsは初耳でした。面白いコマンドですね。 Pオプションの存在は便利すぎてビックリです。