ulimit,launchctl,sysctl之间的区别?

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

  1. ulimit
  2. launchctllaunchd
  3. sysctl

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

如果通过terminal启动某些进程而不是GUI,那么这很重要吗?

可能相关:

  • OS X(10.5)中指定的默认限制在哪里?
  • ulimit -n和/ proc / sys / fs / file-max如何不同?

1. ulimit

这是你的shell(bash / ash / zsh等)的内置命令。 它临时设置当前shell的进程限制。 这不是特定的OS X的方式。

2. sysctl

大多数unix-like(Linux / * BSD / OS X)系统通过sysctl命令/etc/sysctl.confconfiguration文件设置全局限制/内核设置。 但请参阅下面的OS X警告。

3.启动

好像OS X在启动时不再支持sysctl.confhttps://discussions.apple.com/thread/2781309?start=0&tstart=0 )。 所以在OS X上,它看起来像sysctl仅仅用于临时设置全局限制。