如果我在下面这样做:
for i in range(10000):
os.fork()
这是怎么回事?不考虑收获..我只是想知道os.fork()在linux中可以创建多少个进程,如果它像windows一样,只能创建大约2000个进程,那么接下来的8000个进程会怎样?
Thanks.
os.fork()
产生一个新的操作系统级进程。对这些数量的任何限制都不取决于 Python,而是取决于操作系统。根据上一个问题 https://stackoverflow.com/questions/9361816/maximum-number-of-processes-in-linux,在 Linux 上,您可以通过查看以下内容来了解任何软件施加的限制:
cat /proc/sys/kernel/pid_max
但这可能会进一步受到限制/etc/security/limits.conf
。如果这些没有首先击中您,您最终将遇到可用硬件资源的问题 - 您的代码是叉子炸弹 http://en.wikipedia.org/wiki/Fork_bomb,以及普通拒绝服务攻击的类型(对进程数量的任何软件限制都设置为avoid此类攻击)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)