0

Linuxカーネルでゾンビを見つけて刈り取るクラスのプロジェクトを書いています。

wait()の後に刈り取られる単一のゾンビを作成するコードを見つけましたが、私のプログラムは1000のオーダーで多くを刈り取る必要があります。

私はカーネル操作/マルチスレッドに非常に慣れていません。オンラインでゾンビを扱っていることがわかったリソースは、技術的すぎるか、あいまいです。

これは私が使用しているコードです:

      pid_t child_pid;

      child_pid = fork ();
      if (child_pid > 0) {
          sleep (60);
      } else {
          exit (0);
      }

繰り返しになりますが、私の質問は、プログラムを成功させるために、複数のゾンビを作成するにはどうすればよいですか?

どうもありがとう-Jared

4

1 に答える 1

2

ゾンビは、終了ステータスを読み取らない親(簡単に言うと、子の終了後に親が呼び出さなかったwait())を取得し、メモリとリソースをビジー状態に保つ、終了した1つのプロセスにすぎません。

必要なことを達成するには、多くのプロセスをフォークし(たとえば、ループを使用)、決して呼び出さないでください。wait()

于 2013-02-14T18:38:10.587 に答える