我正在为一个班级写一个项目,该项目可以找到僵尸并在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/