Jawaban:
Saya pikir kebingungan berasal dari fakta bahwa sistem panggilan mendasar yang membungkus ulimit disebut setrlimit .
kutipan dari halaman manual ulimit
Fungsi ulimit () harus mengontrol batas proses. Batas proses yang dapat dikontrol oleh fungsi ini termasuk ukuran maksimum satu file yang dapat ditulis (ini setara dengan menggunakan setrlimit () dengan RLIMIT_FSIZE).
Selain itu jika Anda melihat setrlimit
halaman manual struktur data yang mendasari yang berisi informasi batas disebut rlimit
.
kutipan dari halaman manual setrlimit
getrlimit dan setrlimit dapatkan dan tetapkan batas sumber daya masing-masing. Setiap sumber daya memiliki batas lunak dan keras terkait, sebagaimana ditentukan oleh struktur rlimit (argumen rlim untuk getrlimit () dan setrlimit ()):
struct rlimit { rlim_t rlim_cur; /* Soft limit */ rlim_t rlim_max; /* Hard limit (ceiling for rlim_cur) */ };
Mengacu pada halaman manual ulimit , ini adalah perintah bash shell untuk mengontrol batasan sistem dan bagian dari bash-builtin seperti printf, read, source, dll.
Mengacu pada halaman getrlimits , ini merepresentasikan API melalui C / C ++ menggunakan pemanggilan sistem untuk mengontrol rlimits sistem. Dokumentasi glibc tambahan pada menjelaskan rlimits (= batas sumber daya) lebih baik.
ulimit
bisa dua hal:
antarmuka POSIX 7 C API yang tidak digunakan lagi untuk getrlimit()
: http://pubs.opengroup.org/onlinepubs/9699919799/functions/ulimit.html
Aplikasi harus menggunakan fungsi getrlimit () atau setrlimit () alih-alih fungsi usang ulimit ().
Ini tidak terjadi ketika sim
dijawab pada POSIX 6.
Di GNU / Linux, getrlimit()
dan ulimit()
diimplementasikan dengan sys_getrlimit
panggilan sistem. Tidak ada sys_ulimit
.
utilitas POSIX 7 CLI yang tidak usang: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ulimit.html
Ini dapat diimplementasikan dengan salah satu ulimit()
atau getrlimit()
.