这是真的,ulimit -u
设置一个上限:ulimit -u的范围是什么?
- 在其中它被称为从工艺降序创建的进程的数量?
- 考虑到已经运行相同(有效,文件系统,实际,保存?)用户ID的进程数量?
- portably accross POSIX systems?
部分答案似乎通过推理,以从help ulimit
,man $(basename $SHELL)
,setrlimit(3)
,或望着
$ ulimit -u 708 | ulimit -u
709
$
的输出与有关管道命令的shell的(子)进程分配机制的一些假设。 (在上面的例子中,这是一个硬性限制。)是否有一个全面的资源,用于学习或参考,实际上是关注Unix/POSIX资源管理?
详细描述在列表项目1上,考虑两个登录shell分别为0123和1000600,这两个登录shell分别是200和100的limits -u
。还一个fork bomb
bomb() { # increment and output cnt, pipe to new process
cnt=$1; cnt=$((cnt + 1)); echo $cnt; sleep 1;
echo | bomb $cnt;
}
我运行在200的过程 - 壳bomb
。我是否应该预计终止接近200个进程或接近100个进程,给定另一个shell中设置的100个限制?
这是我所看到的:
$ bomb 1
2
3
...
196
197
-bash: fork: retry: No child processes
-bash: fork: retry: Resource temporarily unavailable