這是真的,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