私は現在、Bash スクリプトと特にプロセス管理に関する詳細を読んでいます。「PID と親」のセクションで、次のステートメントを見つけました。
プロセスの PID は、プロセスが終了した後、親プロセスが PID が終了したかどうかを確認して終了コードを取得するまで待機するまで、使用のために解放されることはありません。
したがって、これを正しく理解していれば、bash スクリプトでプロセスを開始すると、プロセスが終了し、PID を他のプロセスで使用できなくなります。これは、他のサブプロセスを繰り返し開始するがそれらを待機しない長時間実行スクリプトがある場合、使用された PID がシステムに返されないため、最終的にリソース リークが発生することを意味しませんか? ?
wait
本当はもう一方のプロセスの場合はどうでしょうか、 wait
get はトラップによってキャンセルされます。これで何とか PID が解放されますか、それともトラップが捕捉された後、もう一度待つ必要がありますか?