ulimit & rlimit ใน Linux มันเหมือนกันหรือไม่?


17

ฉันเห็นคนใช้คำศัพท์ulimi& rlimitแทนกันฉันจะพูดว่าพวกเขากำลังอ้างถึงสิ่งเดียวกันหรือไม่


คำตอบ:


12

ผมคิดว่าความสับสนมาจากความจริงที่ว่าสายระบบพื้นฐานที่ ulimit wraps เรียกว่าsetrlimit

ตัดตอนมาจากหน้าคน ulimit

ฟังก์ชั่น ulimit () จะควบคุมการ จำกัด กระบวนการ ขีด จำกัด กระบวนการที่สามารถควบคุมได้โดยฟังก์ชั่นนี้รวมถึงขนาดสูงสุดของไฟล์เดียวที่สามารถเขียนได้ (ซึ่งเทียบเท่ากับการใช้ setrlimit () กับ RLIMIT_FSIZE)

นอกจากนี้ถ้าคุณมองไปที่setrlimitหน้าคนโครงสร้างข้อมูลพื้นฐานที่มีข้อมูล จำกัด rlimitเรียกว่า

ตัดตอนมาจากหน้าsetrlimit

getrlimit และ setrlimit รับและตั้งค่าขีด จำกัด ของทรัพยากรตามลำดับ แต่ละรีซอร์สมีขีด จำกัด ซอฟต์และฮาร์ดที่เกี่ยวข้องตามที่กำหนดโดยโครงสร้าง rlimit (อาร์กิวเมนต์ rlim สำหรับทั้ง getrlimit () และ setrlimit ()):

struct rlimit {
    rlim_t rlim_cur;   /* Soft limit */
    rlim_t rlim_max;   /* Hard limit (ceiling 
                          for rlim_cur) */
};

อ้างอิง


2

อ้างถึงulimit man pageเป็นคำสั่ง bash shell เพื่อควบคุม rlimits ของระบบและส่วนหนึ่งของbash-builtinsเช่น printf, read, source และอื่น ๆ

การอ้างถึงหน้า getrlimitsจะแสดงถึง API ผ่าน C / C ++ โดยใช้การเรียกระบบเพื่อควบคุมระบบ rlimits เอกสาร glibcเพิ่มเติมเกี่ยวกับการอธิบาย rlimits (= ข้อ จำกัด ทรัพยากร) ดีกว่า


0

ulimit สามารถเป็นสองสิ่ง:

  • อินเตอร์เฟส POSIX 7 C API ที่เลิกใช้แล้วgetrlimit(): http://pubs.opengroup.org/onlinepubs/9699919799/functions/ulimit.html

    แอปพลิเคชันควรใช้ฟังก์ชัน getrlimit () หรือ setrlimit () แทนฟังก์ชั่น obsolescent ulimit ()

    นี่ไม่ใช่กรณีเมื่อsimตอบใน POSIX 6

    บน GNU / Linux getrlimit()และulimit()นำไปใช้กับการsys_getrlimitเรียกระบบ sys_ulimitไม่มี

  • ยูทิลิตี POSI 7 CLI ที่ไม่ได้คัดค้าน: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ulimit.html

    จะสามารถดำเนินการอย่างใดอย่างหนึ่งหรือulimit()getrlimit()

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