unix – 如何为非root用户设置’每个进程的最大线程数’ulimit?

前端之家收集整理的这篇文章主要介绍了unix – 如何为非root用户设置’每个进程的最大线程数’ulimit?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Ulimit手册页建议-r选项会设置这个,但它似乎只对root用户有效,并且没有通过/ etc / security / limits设置它的等价物?

有任何想法吗?

你说AIX,但在 linux的情况下,我认为它只是-u限位开关.在 Linux中,这表示’进程’,但是使用bash,ulimit只是setrlimit系统调用的接口.这可以通过运行strace bash -c’ulimit -u 10’看到,它返回:
setrlimit(RLIMIT_NPROC,{rlim_cur=10,rlim_max=10}) = 0

setrlimit的手册页说明:

RLIMIT_NPROC
The maximum number of processes (or,more precisely on
Linux,
threads
) that can be created for the real user ID of the
calling
process. Upon encountering this limit,fork(2) fails
with the
error EAGAIN.

那么对AIX来说可能是一样的吗? This link声明:“AIX没有定义RLIMIT_NPROC或RLIMIT_MEMLOCK资源.”,但您可以在developerworks上找到更明确的答案.

对于权限问题,解决方案可能是使用root设置限制,然后su为用户增加限制.我必须在过去为其他资源限制执行此操作,例如,max open files. limits.conf没有应用,所以我从root用户使用了sudo或su,然后限制被继承.

猜你在找的Bash相关文章