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); } }
广告