在管理操作系统(特别是OSX)的限制时,这三个工具的功能和历史有什么区别和重叠:
ulimit
launchctl
,launchd
sysctl
我发现调整 OSX 上的最大进程数和打开文件数限制很令人困惑。
如果某些进程是通过终端而不是 GUI 启动的,这有关系吗?
可能相关:
答案1
1. ulimit
这是你的 shell(bash/ash/zsh 等)的内置命令。它暂时地设置当前 shell 的进程限制。顺便说一下,这不是 macOS 独有的。
2. sysctl
大多数类 Unix(Linux/*BSD/macOS)系统通过命令sysctl
配置/etc/sysctl.conf
文件设置全局限制/内核设置。
似乎macOS 不再支持sysctl.conf
启动。因此在 macOS 上,它似乎sysctl
仅适用于暂时地设置全局限制。
3. launchd/launchctl
要以持久方式设置全局限制,请launchctl
在 macOS 上使用。