Perbedaan antara ulimit, launchctl, sysctl?

11

Ketika mengelola batas-batas sistem operasi (khususnya OSX), apa perbedaan dan tumpang tindih antara fungsi dan sejarah dari tiga alat ini:

  1. ulimit
  2. launchctl, launchd
  3. sysctl

Saya merasa bingung untuk menyesuaikan proses maksimum dan membuka batas file pada OSX.

Apakah penting jika beberapa proses diluncurkan melalui terminal versus GUI?

Mungkin terkait:

Eric
sumber

Jawaban:

4

1. ulimit

Ini adalah perintah bawaan dari shell Anda (bash / ash / zsh dll). Ini sementara menetapkan batas proses untuk shell saat ini. Omong-omong, ini bukan makOS spesifik.

2. sysctl

Kebanyakan sistem unix-like (Linux / * BSD / macOS) menetapkan batas global / pengaturan kernel melalui file konfigurasi sysctlperintah /etc/sysctl.conf.

Sepertinya macOS tidak lagi menghormati sysctl.confstartup . Jadi pada macOS, sepertinya sysctlhanya dapat digunakan untuk pengaturan sementara batas global.

3. launchd / launchctl

Untuk menetapkan batas global dengan cara yang terus-menerus, gunakan launchctldi macOS.

Dominik R
sumber
1
Teks di bawah "launchd" tidak benar-benar berbicara tentang launchd (atau launchctl, yang ditanyakan OP).
Nick Chammas
Mengedit jawaban untuk memperbaiki poin @NickChammas.
sampai