微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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,然后限制被继承.

原文地址:https://www.jb51.cc/bash/385549.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐