![]() |
1
44
C程序是 微小的 ,真的很小。另外,fork()这样的程序非常非常高效。然而,一个解释器,比如Bash,在RAM使用方面要昂贵得多,并且需要一直访问磁盘。 试着运行更长时间。:) |
![]() |
2
4
这个 真实的 因为在BASH中,您创建的进程与父进程分离。如果父进程(最初启动的进程)被终止,则其余进程将继续运行。但在C实现中,如果父进程被终止,则列出子进程死亡,因此这足以使您开始关闭的初始进程 整体 不断分叉过程的树。 我还没有想出一个分离子进程的C forkbomb实现,这样如果父进程死亡,它们就不会被杀死。希望能提供此类实现的链接。 |
![]() |
3
3
在bash forkbomb中,您将新进程放入新的后台进程组中,因此您将无法
|
![]() |
4
0
这基本上是因为它的尺寸。 当你运行bash fork bomb时,它会将大怪物程序加载到内存中(相对于你的c程序),每个程序都开始占用你的cpu资源。当然,当大怪物开始复制时,麻烦比蜜蜂开始复制时来得更快。 所以计算机会立即挂起。但是如果你让你的c可执行文件长时间运行,它也会挂起系统。只是时间会更长。 如果要比较bash的大小和c program check out/proc//status的大小。 首先使用bash的任何运行实例的pid,然后使用c程序的任何运行实例的pid |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 5 月前 |
![]() |
user2138149 · 双栈网络服务器无法按预期处理ipv4请求 5 月前 |
![]() |
Marco · PyCharm Linux系统文件上os.stat异常 6 月前 |