ulimit & rlimit trong Linux, chúng có giống nhau không?


Câu trả lời:


12

Tôi nghĩ rằng sự nhầm lẫn xuất phát từ thực tế là cuộc gọi hệ thống cơ bản mà kết thúc tốt đẹp được gọi là setrlimit .

đoạn trích từ trang người đàn ông ulimit

Hàm ulimit () sẽ kiểm soát các giới hạn quá trình. Các giới hạn quy trình có thể được kiểm soát bởi chức năng này bao gồm kích thước tối đa của một tệp có thể được ghi (điều này tương đương với việc sử dụng setrlimit () với RLIMIT_FSIZE).

Ngoài ra, nếu bạn nhìn vào setrlimittrang man, cấu trúc dữ liệu cơ bản chứa thông tin giới hạn được gọi rlimit.

đoạn trích từ trang man setrlimit

getrlimit và setrlimit get và đặt giới hạn tài nguyên tương ứng. Mỗi tài nguyên có giới hạn mềm và cứng liên quan, như được xác định bởi cấu trúc rlimit (đối số rlim cho cả getrlimit () và setrlimit ()):

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

Người giới thiệu


2

Nhắc đến trang man ulimit , đó là lệnh bash shell để kiểm soát các phần tử của hệ thống và một phần của bash-buildin như printf, read, source, v.v.

Giới thiệu trang getrlimits , nó đại diện cho các API thông qua C / C ++ bằng cách sử dụng các lệnh gọi hệ thống để kiểm soát sự hồi sinh của hệ thống. Tài liệu glibc bổ sung về giải thích rlimits (= giới hạn tài nguyên) tốt hơn.


0

ulimit có thể là hai điều:

  • giao diện API POSIX 7 C không được ủng hộ getrlimit(): http://pub.opengroup.org/onlinepub/9699919799/fiances/ulimit.html

    Các ứng dụng nên sử dụng các hàm getrlimit () hoặc setrlimit () thay vì hàm ulimit () lỗi thời.

    Đây không phải là trường hợp khi được simtrả lời trên POSIX 6.

    Trên GNU / Linux getrlimit()ulimit()được thực hiện với lệnh sys_getrlimitgọi hệ thống. Không có sys_ulimit.

  • tiện ích POSIX 7 CLI không bị phản đối: http://pub.opengroup.org/onlinepub/9699919799/utilities/ulimit.html

    Nó có thể được thực hiện với một trong hai ulimit()hoặc getrlimit().

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.