0

我正在为类编写一个项目,该项目可以在 Linux 内核中找到僵尸并收获它们。

我找到了会创建一个僵尸的代码,它在等待()之后被收割,但我的程序必须收割很多,大约 1000 个。

我对内核操作/多线程非常陌生,我在网上找到的处理僵尸的资源要么过于技术化,要么含糊不清。

这是我正在使用的代码:

      pid_t child_pid;

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

再一次,我的问题是:我应该如何去创建多个僵尸,让我的程序收获?

非常感谢-贾里德

4

1 回答 1

2

僵尸只不过是一个终止的进程,它的父进程没有读取他的退出状态(简而言之:父进程在子进程退出wait()后没有调用)并保持内存和资源繁忙。

为了实现你需要的只是 fork 很多进程(例如使用循环)并且从不调用wait()

于 2013-02-14T18:38:10.587 回答