多くのプロセスを開始するためにforループを作成する方法は?

多くのプロセスを開始するためにforループを作成する方法は?

いくつかのエラーをテストしたいので、これには99999より大きいPIDが必要です。私はbashスクリプト、forループを考えています。どんなアイデアがありますか?

ベストアンサー1

必要なPIDでプロセスを開始するのと同様の操作を実行できます。

while true; do bash -c '[[ "$$" == 99999 ]] && echo PID is 99999'; done

必要なPIDを取得するのを待ってから、echo実際にテストする必要があるものにステートメントを置き換えることもできます。

引用する

殺された後も同じPIDが使用されますか?

編集する

PID番号が増えるのはなぜですか?他のbashインスタンスを引き続き実行しているためですか?

私はあなたが言うことが今起こっていることだと思います。これは次のように簡単にテストできます。

while true; do bash -c 'echo $$' ; done

マンページでは、PIDが増加し続けていることがわかりますbash

-c string -c オプションがある場合は、文字列からコマンドを読み込みます。文字列の後にパラメータがある場合は、$ 0から始まる位置パラメータに割り当てられます。

したがって、私が理解しているように、echo上記のテストの各ステートメントは別々のプロセスで実行されるため、PIDが増加することがわかります。

おすすめ記事