フォークされたプロセスはなぜ終了しますか?

フォークされたプロセスはなぜ終了しますか?

私はRed Hat RHEL 7.9サーバーで動作しています。何百もの異なる小さなCベースのプログラムを実行するためにfork()を繰り返し呼び出すPerlスクリプトがあります。一度に約10個のプログラムを実行し(マイコンピュータには16個のコアがある)、前のプログラムが完了するのを待ってから新しいプログラムを起動するためにfork()を呼び出します。ほとんどの手順は10秒以内に完了します。

数分後、多くのプログラムが終了しました。外部 Perl スクリプトを継続して実行すると、異なる数のプログラムが終了し、他の単一プログラムが終了します。また、同時プログラムの数を減らすと、終了するプログラムの数が大幅に減ります(したがってリソースの問題かもしれません)。このプログラムがなぜ死ぬのか分からない。コンソールウィンドウに表示されるのは、次のエラーメッセージのみです(ここでXXXXXXはPIDです)。

sh: line 1: XXXXXX Killed                  ProgName

これらのプログラムが終了する理由をどのように知ることができますか?それとも、彼らが死ぬのを防いだり直接調査したりするには?

関連情報