web-dev-qa-db-ja.com

ulimit、launchctl、sysctlの違いは?

オペレーティングシステム(特にOSX)の制限を管理する場合、これら3つのツールの機能と履歴の違いと重複は何ですか。

  1. ulimit
  2. launchctllaunchd
  3. sysctl

OSXで最大プロセス数とオープンファイル制限を調整するのは混乱していることがわかりました。

一部のプロセスがターミナルとGUIのどちらを介して起動されるかは重要ですか?

おそらく関連:

10
Eric

1.ulimit

これはシェルの組み込みコマンドです(bash/ash/zshなど)。 一時的に現在のシェルのプロセス制限を設定します。ちなみに、これはmacOS固有のものではありません。

2.sysctl

ほとんどのUNIXライクな(Linux/* BSD/macOS)システムは、sysctlコマンド/etc/sysctl.conf構成ファイルを介してグローバル制限/カーネル設定を設定します。

macOSは起動時にsysctl.confを尊重しなくなりました のようです。したがって、macOSでは、sysctlは単にグローバル制限を設定するために一時的に使用できるように見えます。

3. launchd/launchctl

永続的な方法でグローバル制限を設定するには、macOSでlaunchctlを使用します。

3
Dominik R