100個のプログラムインスタンスを実行し続けます。

100個のプログラムインスタンスを実行し続けます。

私は現在、Supervisordを使用して同時に実行される100のスクリプトインスタンスを保持しています。一つが死ぬと、新しいものが始まります。

しかし、より多くの数(300以上のプロセス)を維持するのは難しいと思われるので、代替案を探しています。 Monitは、単一のスクリプトを監視し、同じスクリプトの100のインスタンスを簡単に監視できないという点で、私が望むことを実行していないようです。

利用可能なさまざまなツールの提案がありますか?

ベストアンサー1

あなたはそれを使用することができます:

ps h --ppid $$ | wc -l

Bashスクリプトから子プロセスの数を取得します(ここにpsが含まれていることに注意してください)。したがって、1000のプロセスが必要な場合は、1001が返されることを確認してください。それ以外の場合は、次のコマンドを使用して起動します。

cmd &

現在のスクリプトの子として実行されます(したがってカウントに含まれます)。その後、しばらく寝て、ループで永久に再確認することができます。 1つの注意点は、他のプロセスを作成するには、目的のpsプロセスをフィルタリングするようにコマンドを変更する必要があることです。

最初のコマンドはパズルの重要な部分であり、スクリプトを作成する前に追加の内容が必要です。

おすすめ記事