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

我发现了将创建单个僵尸的代码,该僵尸在wait()之后被收割,但是我的程序必须收获很多,数量级为1000。

我对内核操作/多线程非常陌生,我发现在线处理僵尸的资源过于技术性或含糊不清。

这是我正在使用的代码:

      pid_t child_pid;

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


再次,我的问题是:我应该如何创建多个僵尸,以使程序获得收益?

非常感谢-Jared

最佳答案

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

要实现您需要的功能,只需派生很多进程(例如使用循环),而无需调用wait()

关于c - 如何在Linux内核中创建多个僵尸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14881584/

10-11 21:13