ulimit 会改变正在运行的程序的限制吗?它们是否有特定的资源在运行时无法更改?如果 ulimit 在运行时不更改限制,这是否意味着您必须重新启动所有守护程序才能使用新指定的限制?
答案1
正确,据我所知,ulimit 命令不会更改正在运行的程序的限制。但是,您可以从正在运行的程序中调用 set_rlimit 和相关函数。您可能还想查看资源控制内容,man rctl
但这需要重建内核。
答案2
您可以使用 ulimit(或 limit,取决于 shell)来限制守护进程的资源,或者您可以使用/etc/login.conf
(因此每个守护进程类型都有一个用户帐户)来设置它们。
更新后,/etc/login.conf
请确保按照文件顶部的步骤重新生成D b文件的版本。然后重新启动守护进程,假设守护进程更改用户帐户。