ulimit、launchctl、sysctl 的区别?

Eri*_*ric 12 mac-osx ulimit launchctl sysctl

在管理操作系统(特别是 OSX)的限制时,这三个工具的功能和历史有什么区别和重叠:

  1. ulimit
  2. launchctl, launchd
  3. sysctl

我发现在 OSX 上调整最大进程数和打开文件限制令人困惑。

某些进程是通过终端还是通过 GUI 启动,这有关系吗?

可能相关:

Dom*_*k R 5

1. 限制

这是 shell 的内置命令(bash/ash/zsh 等)。它临时设置当前 shell 的进程限制。顺便说一下,这不是 macOS 特定的。

2. 系统控制

大多数类 Unix (Linux/*BSD/macOS) 系统通过sysctl命令/etc/sysctl.conf配置文件设置全局限制/内核设置。

似乎macOSsysctl.conf不再支持启动。所以在 macOS 上,它看起来sysctl只能用于临时设置全局限制。

3.launchd/launchctl

要以持久方式设置全局限制,请launchctl在 macOS 上使用。