Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++에서 C 대 BASH 포크 폭탄?

<시간/>

BASH 포크 폭탄이 C 프로그램 버전보다 훨씬 강력하다는 것은 이미 분명합니다. 주요 원인은 BASH에서 생성된 프로세스가 상위에서 분리되기 때문입니다. 부모 프로세스(처음에 시작한 프로세스)가 파괴되거나 종료되면 나머지 또는 나머지 프로세스는 계속 유지됩니다. 그러나 C 구현의 경우 나열된 자식 프로세스는 부모가 파괴되거나 죽으면 자동으로 죽습니다. 스크립트는 시스템과 직접 통신하는 역할을 합니다.

C의 포크 폭탄 프로그램은 업데이트하거나 수정할 수 있습니다. fork 프로세스를 생성할 때 프로그램에서 메모리를 할당할 수 있습니다.

다음 프로그램은 수정된 C 포크 폭탄의 구현으로 취급됩니다 -

// 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);
   }
}