我有一個問題在我腦海裏。我只想知道當使用fork()系統調用由進程創建子進程時,最大限制數是多少? 我使用內核3.2.0-45-generic的UBUNTU OS(12.04)。Unix中子進程的最大數量
4
A
回答
0
進程數不是按進程限制,而是按用戶限制。
0
在Linux上,你可以使用:
ulimit -u
告訴你最大處理用戶可以運行和使用-a
論證會告訴你所有的用戶限制。
2
編程,
#include <stdio.h>
#include <sys/resource.h>
int main()
{
struct rlimit rl;
getrlimit(RLIMIT_NPROC, &rl);
printf("%d\n", rl.rlim_cur);
}
其中結構RLIMIT是:
struct rlimit {
rlim_t rlim_cur; /* Soft limit */
rlim_t rlim_max; /* Hard limit (ceiling for rlim_cur) */
};
從man:
RLIMIT_NPROC
可以爲調用進程的實際用戶標識創建的最大進程數(或更精確地說,在Linux上,線程)。遇到此限制後,fork(2)將失敗並顯示錯誤EAGAIN。
0
答案已經在那裏獲得當前最大value.I想在/etc/security/limits.conf
sudo vi /etc/security/limits.conf
添加通過使變化,你可以設置此限制然後加入這一行的,該底部文件
hard nproc 1000
您可以提高這個給你想要的任何號碼 -
nproc
是機器上可以同時存在的最大進程數。
2
,如果你需要的用戶限制最大進程數,這個代碼也工作:
#include "stdio.h"
#include "unistd.h"
void main()
{
printf("MAX CHILD ID IS :%ld\n",sysconf(_SC_CHILD_MAX));
}
+1
請不要使用'void main()',除非你在Windows上,你可能不能使用'sysconf()'。參見[main()'應該在C和C++中返回什麼?](http://stackoverflow.com/questions/204476/what-should-main-return-in-c-and-c/18721336#18721336)。此外,標準使用'#包括
相關問題
- 1. /proc/<pid>/limits中的最大進程是否表示該進程的子進程的最大數量
- 2. supervisord管理進程的最大數量?
- 3. 最大數量的PHP CLI進程
- 4. UNIX上的進程大小
- 5. 將變量參數傳遞給子進程UNIX中c
- 6. windows中每個進程/線程的最大互斥量數
- 7. unhup在unix中的子進程
- 8. UNIX子進程組標識
- 9. Unix親子進程關係
- 10. Unix中dir的最大數目
- 11. 如何在Docker容器中獲取最大數量的子進程?
- 12. Linux中每個進程打開的文件的最大數量
- 13. SPIN模型中的最大進程數
- 14. 如何在一生中獲得unix進程的最大虛擬集大小?
- 15. 存儲過程中where子句的最大數量
- 16. 強制子行的最大數量
- 17. 如何將參數從父進程傳遞給Unix中的子進程?
- 18. Java:kill unix上的所有子進程
- 19. 最大數量的有效進程的Linux
- 20. 已分配的db進程的最大數量
- 21. 'su -c command'生成的子進程的數量(子進程)
- 22. SQL中的最大數量
- 23. 在一個進程中加載的應用程序域的最大數量
- 24. 同時寫入大量文件的最佳進程數
- 25. 後臺進程的最大數量運行火花殼
- 26. 全局註冊進程的最大數量
- 27. Python多處理:最大。池工作進程的數量?
- 28. 騎過Zabbix的最大進程數
- 29. 最大數量的Bash參數!=最大數量cp參數?
- 30. 最大數量
'的ulimit -u'會告訴你進程的最大數量的用戶。 –
但它是否與進程可創建的子進程的最大數目相同?作爲一個用戶,我可以在後臺同時運行多個進程而不創建任何子進程。 – Prak
無論如何都是相同的限制。 –