ความแตกต่างระหว่าง ulimit, launchctl, sysctl?


11

เมื่อจัดการขีด จำกัด ของระบบปฏิบัติการ (โดยเฉพาะ OSX) ความแตกต่างและการทับซ้อนระหว่างฟังก์ชันการทำงานและประวัติของเครื่องมือทั้งสามนี้คืออะไร:

  1. ulimit
  2. launchctl, launchd
  3. sysctl

ฉันพบว่ามันสับสนที่จะปรับกระบวนการสูงสุดและ จำกัด การเปิดไฟล์บน OSX

เป็นเรื่องสำคัญหรือไม่หากกระบวนการบางอย่างถูกเรียกใช้ผ่านเทอร์มินัลกับ GUI?

อาจเกี่ยวข้อง:

คำตอบ:


4

1. ulimit

นี่คือคำสั่ง builtin ของเชลล์ของคุณ (bash / ash / zsh ฯลฯ ) มันชั่วคราวกำหนดขีด จำกัด กระบวนการเปลือกปัจจุบัน นี่ไม่ใช่ MacOS เฉพาะทาง

2. sysctl

ระบบ Unix-like (Linux / * BSD / macOS) ส่วนใหญ่จะตั้งค่าการ จำกัด ระดับโลก / เคอร์เนลผ่านไฟล์sysctlคำสั่ง/etc/sysctl.confconfig

ดูเหมือนว่าMacOS ไม่ให้เกียรติsysctl.confในการเริ่มต้นอีกต่อไป ดังนั้นใน MacOS ดูเหมือนว่าsysctlจะใช้งานได้เพียงเพื่อชั่วคราวตั้งค่าขีด จำกัด ทั่วโลก

3. launchd / launchctl

สำหรับการตั้งค่าขีด จำกัด โกลบอลแบบถาวรให้ใช้launchctlบน macOS


1
ข้อความใต้ "launchd" ไม่ได้พูดถึง launchdl (หรือ launchctl ซึ่ง OP ถามถึง)
Nick Chammas

แก้ไขคำตอบเพื่อแก้ไขจุดของ @NickChammas
ถึง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.