diff options
Diffstat (limited to 'templates/man2/getrlimit.2.pot')
-rw-r--r-- | templates/man2/getrlimit.2.pot | 1412 |
1 files changed, 1412 insertions, 0 deletions
diff --git a/templates/man2/getrlimit.2.pot b/templates/man2/getrlimit.2.pot new file mode 100644 index 00000000..9a28ec6c --- /dev/null +++ b/templates/man2/getrlimit.2.pot @@ -0,0 +1,1412 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-03-01 16:57+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "getrlimit" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "getrlimit, setrlimit, prlimit - get/set resource limits" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#include E<lt>sys/resource.hE<gt>>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>\n" +"B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<,>\n" +"B< const struct rlimit *_Nullable >I<new_limit>B<,>\n" +"B< struct rlimit *_Nullable >I<old_limit>B<);>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<prlimit>():" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid " _GNU_SOURCE\n" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<getrlimit>() and B<setrlimit>() system calls get and set resource " +"limits. Each resource has an associated soft and hard limit, as defined by " +"the I<rlimit> structure:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"struct rlimit {\n" +" rlim_t rlim_cur; /* Soft limit */\n" +" rlim_t rlim_max; /* Hard limit (ceiling for rlim_cur) */\n" +"};\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The soft limit is the value that the kernel enforces for the corresponding " +"resource. The hard limit acts as a ceiling for the soft limit: an " +"unprivileged process may set only its soft limit to a value in the range " +"from 0 up to the hard limit, and (irreversibly) lower its hard limit. A " +"privileged process (under Linux: one with the B<CAP_SYS_RESOURCE> capability " +"in the initial user namespace) may make arbitrary changes to either limit " +"value." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The value B<RLIM_INFINITY> denotes no limit on a resource (both in the " +"structure returned by B<getrlimit>() and in the structure passed to " +"B<setrlimit>())." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The I<resource> argument must be one of:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_AS>" +msgstr "" + +#. since Linux 2.0.27 / Linux 2.1.12 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is the maximum size of the process's virtual memory (address space). " +"The limit is specified in bytes, and is rounded down to the system page " +"size. This limit affects calls to B<brk>(2), B<mmap>(2), and B<mremap>(2), " +"which fail with the error B<ENOMEM> upon exceeding this limit. In addition, " +"automatic stack expansion fails (and generates a B<SIGSEGV> that kills the " +"process if no alternate stack has been made available via " +"B<sigaltstack>(2)). Since the value is a I<long>, on machines with a 32-bit " +"I<long> either this limit is at most 2\\ GiB, or this resource is unlimited." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_CORE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is the maximum size of a I<core> file (see B<core>(5)) in bytes that " +"the process may dump. When 0 no core dump files are created. When nonzero, " +"larger dumps are truncated to this size." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_CPU>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is a limit, in seconds, on the amount of CPU time that the process can " +"consume. When the process reaches the soft limit, it is sent a B<SIGXCPU> " +"signal. The default action for this signal is to terminate the process. " +"However, the signal can be caught, and the handler can return control to the " +"main program. If the process continues to consume CPU time, it will be sent " +"B<SIGXCPU> once per second until the hard limit is reached, at which time it " +"is sent B<SIGKILL>. (This latter point describes Linux behavior. " +"Implementations vary in how they treat processes which continue to consume " +"CPU time after reaching the soft limit. Portable applications that need to " +"catch this signal should perform an orderly termination upon first receipt " +"of B<SIGXCPU>.)" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_DATA>" +msgstr "" + +#. commits 84638335900f1995495838fe1bd4870c43ec1f67 +#. ("mm: rework virtual memory accounting"), +#. f4fcd55841fc9e46daac553b39361572453c2b88 +#. (mm: enable RLIMIT_DATA by default with workaround for valgrind). +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is the maximum size of the process's data segment (initialized data, " +"uninitialized data, and heap). The limit is specified in bytes, and is " +"rounded down to the system page size. This limit affects calls to " +"B<brk>(2), B<sbrk>(2), and (since Linux 4.7) B<mmap>(2), which fail with " +"the error B<ENOMEM> upon encountering the soft limit of this resource." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_FSIZE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is the maximum size in bytes of files that the process may create. " +"Attempts to extend a file beyond this limit result in delivery of a " +"B<SIGXFSZ> signal. By default, this signal terminates a process, but a " +"process can catch this signal instead, in which case the relevant system " +"call (e.g., B<write>(2), B<truncate>(2)) fails with the error B<EFBIG>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_LOCKS> (Linux 2.4.0 to Linux 2.4.24)" +msgstr "" + +#. to be precise: Linux 2.4.0-test9; no longer in Linux 2.4.25 / Linux 2.5.65 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is a limit on the combined number of B<flock>(2) locks and " +"B<fcntl>(2) leases that this process may establish." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_MEMLOCK>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is the maximum number of bytes of memory that may be locked into RAM. " +"This limit is in effect rounded down to the nearest multiple of the system " +"page size. This limit affects B<mlock>(2), B<mlockall>(2), and the " +"B<mmap>(2) B<MAP_LOCKED> operation. Since Linux 2.6.9, it also affects the " +"B<shmctl>(2) B<SHM_LOCK> operation, where it sets a maximum on the total " +"bytes in shared memory segments (see B<shmget>(2)) that may be locked by " +"the real user ID of the calling process. The B<shmctl>(2) B<SHM_LOCK> " +"locks are accounted for separately from the per-process memory locks " +"established by B<mlock>(2), B<mlockall>(2), and B<mmap>(2) B<MAP_LOCKED>; a " +"process can lock bytes up to this limit in each of these two categories." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before Linux 2.6.9, this limit controlled the amount of memory that could be " +"locked by a privileged process. Since Linux 2.6.9, no limits are placed on " +"the amount of memory that a privileged process may lock, and this limit " +"instead governs the amount of memory that an unprivileged process may lock." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_MSGQUEUE> (since Linux 2.6.8)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is a limit on the number of bytes that can be allocated for POSIX " +"message queues for the real user ID of the calling process. This limit is " +"enforced for B<mq_open>(3). Each message queue that the user creates counts " +"(until it is removed) against this limit according to the formula:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Since Linux 3.5:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"bytes = attr.mq_maxmsg * sizeof(struct msg_msg) +\n" +" MIN(attr.mq_maxmsg, MQ_PRIO_MAX) *\n" +" sizeof(struct posix_msg_tree_node)+\n" +" /* For overhead */\n" +" attr.mq_maxmsg * attr.mq_msgsize;\n" +" /* For message data */\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux 3.4 and earlier:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n" +" /* For overhead */\n" +" attr.mq_maxmsg * attr.mq_msgsize;\n" +" /* For message data */\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"where I<attr> is the I<mq_attr> structure specified as the fourth argument " +"to B<mq_open>(3), and the I<msg_msg> and I<posix_msg_tree_node> structures " +"are kernel-internal structures." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The \"overhead\" addend in the formula accounts for overhead bytes required " +"by the implementation and ensures that the user cannot create an unlimited " +"number of zero-length messages (such messages nevertheless each consume some " +"system memory for bookkeeping overhead)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_NICE> (since Linux 2.6.12, but see BUGS below)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This specifies a ceiling to which the process's nice value can be raised " +"using B<setpriority>(2) or B<nice>(2). The actual ceiling for the nice " +"value is calculated as I<20\\ -\\ rlim_cur>. The useful range for this " +"limit is thus from 1 (corresponding to a nice value of 19) to 40 " +"(corresponding to a nice value of -20). This unusual choice of range was " +"necessary because negative numbers cannot be specified as resource limit " +"values, since they typically have special meanings. For example, " +"B<RLIM_INFINITY> typically is the same as -1. For more detail on the nice " +"value, see B<sched>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_NOFILE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This specifies a value one greater than the maximum file descriptor number " +"that can be opened by this process. Attempts (B<open>(2), B<pipe>(2), " +"B<dup>(2), etc.) to exceed this limit yield the error B<EMFILE>. " +"(Historically, this limit was named B<RLIMIT_OFILE> on BSD.)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 4.5, this limit also defines the maximum number of file " +"descriptors that an unprivileged process (one without the " +"B<CAP_SYS_RESOURCE> capability) may have \"in flight\" to other processes, " +"by being passed across UNIX domain sockets. This limit applies to the " +"B<sendmsg>(2) system call. For further details, see B<unix>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_NPROC>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is a limit on the number of extant process (or, more precisely on " +"Linux, threads) for the real user ID of the calling process. So long as " +"the current number of processes belonging to this process's real user ID is " +"greater than or equal to this limit, B<fork>(2) fails with the error " +"B<EAGAIN>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<RLIMIT_NPROC> limit is not enforced for processes that have either the " +"B<CAP_SYS_ADMIN> or the B<CAP_SYS_RESOURCE> capability, or run with real " +"user ID 0." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_RSS>" +msgstr "" + +#. As at Linux 2.6.12, this limit still does nothing in Linux 2.6 though +#. talk of making it do something has surfaced from time to time in LKML +#. -- MTK, Jul 05 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is a limit (in bytes) on the process's resident set (the number of " +"virtual pages resident in RAM). This limit has effect only in Linux 2.4.x, " +"x E<lt> 30, and there affects only calls to B<madvise>(2) specifying " +"B<MADV_WILLNEED>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_RTPRIO> (since Linux 2.6.12, but see BUGS)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This specifies a ceiling on the real-time priority that may be set for this " +"process using B<sched_setscheduler>(2) and B<sched_setparam>(2)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "For further details on real-time scheduling policies, see B<sched>(7)" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_RTTIME> (since Linux 2.6.25)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is a limit (in microseconds) on the amount of CPU time that a process " +"scheduled under a real-time scheduling policy may consume without making a " +"blocking system call. For the purpose of this limit, each time a process " +"makes a blocking system call, the count of its consumed CPU time is reset to " +"zero. The CPU time count is not reset if the process continues trying to " +"use the CPU but is preempted, its time slice expires, or it calls " +"B<sched_yield>(2)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Upon reaching the soft limit, the process is sent a B<SIGXCPU> signal. If " +"the process catches or ignores this signal and continues consuming CPU time, " +"then B<SIGXCPU> will be generated once each second until the hard limit is " +"reached, at which point the process is sent a B<SIGKILL> signal." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The intended use of this limit is to stop a runaway real-time process from " +"locking up the system." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_SIGPENDING> (since Linux 2.6.8)" +msgstr "" + +#. This replaces the /proc/sys/kernel/rtsig-max system-wide limit +#. that was present in Linux <= 2.6.7. MTK Dec 04 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is a limit on the number of signals that may be queued for the real " +"user ID of the calling process. Both standard and real-time signals are " +"counted for the purpose of checking this limit. However, the limit is " +"enforced only for B<sigqueue>(3); it is always possible to use B<kill>(2) " +"to queue one instance of any of the signals that are not already queued to " +"the process." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<RLIMIT_STACK>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This is the maximum size of the process stack, in bytes. Upon reaching this " +"limit, a B<SIGSEGV> signal is generated. To handle this signal, a process " +"must employ an alternate signal stack (B<sigaltstack>(2))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 2.6.23, this limit also determines the amount of space used for " +"the process's command-line arguments and environment variables; for details, " +"see B<execve>(2)." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "prlimit()" +msgstr "" + +# +# +# +#. commit c022a0acad534fd5f5d5f17280f6d4d135e74e81 +#. Author: Jiri Slaby <jslaby@suse.cz> +#. Date: Tue May 4 18:03:50 2010 +0200 +#. rlimits: implement prlimit64 syscall +#. commit 6a1d5e2c85d06da35cdfd93f1a27675bfdc3ad8c +#. Author: Jiri Slaby <jslaby@suse.cz> +#. Date: Wed Mar 24 17:06:58 2010 +0100 +#. rlimits: add rlimit64 structure +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The Linux-specific B<prlimit>() system call combines and extends the " +"functionality of B<setrlimit>() and B<getrlimit>(). It can be used to both " +"set and get the resource limits of an arbitrary process." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<resource> argument has the same meaning as for B<setrlimit>() and " +"B<getrlimit>()." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the I<new_limit> argument is not NULL, then the I<rlimit> structure to " +"which it points is used to set new values for the soft and hard limits for " +"I<resource>. If the I<old_limit> argument is not NULL, then a successful " +"call to B<prlimit>() places the previous soft and hard limits for " +"I<resource> in the I<rlimit> structure pointed to by I<old_limit>." +msgstr "" + +#. FIXME . this permission check is strange +#. Asked about this on LKML, 7 Nov 2010 +#. "Inconsistent credential checking in prlimit() syscall" +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<pid> argument specifies the ID of the process on which the call is to " +"operate. If I<pid> is 0, then the call applies to the calling process. To " +"set or get the resources of a process other than itself, the caller must " +"have the B<CAP_SYS_RESOURCE> capability in the user namespace of the process " +"whose resource limits are being changed, or the real, effective, and saved " +"set user IDs of the target process must match the real user ID of the caller " +"I<and> the real, effective, and saved set group IDs of the target process " +"must match the real group ID of the caller." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On success, these system calls return 0. On error, -1 is returned, and " +"I<errno> is set to indicate the error." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EFAULT>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A pointer argument points to a location outside the accessible address space." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The value specified in I<resource> is not valid; or, for B<setrlimit>() or " +"B<prlimit>(): I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EPERM>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An unprivileged process tried to raise the hard limit; the " +"B<CAP_SYS_RESOURCE> capability is required to do this." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The caller tried to increase the hard B<RLIMIT_NOFILE> limit above the " +"maximum defined by I</proc/sys/fs/nr_open> (see B<proc>(5))" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(B<prlimit>()) The calling process did not have permission to set limits " +"for the process specified by I<pid>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ESRCH>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Could not find a process with the ID specified in I<pid>." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ATTRIBUTES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For an explanation of the terms used in this section, see B<attributes>(7)." +msgstr "" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Interface" +msgstr "" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Attribute" +msgstr "" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Value" +msgstr "" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".na\n" +msgstr "" + +#. type: tbl table +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid ".nh\n" +msgstr "" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<getrlimit>(),\n" +"B<setrlimit>(),\n" +"B<prlimit>()" +msgstr "" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Thread safety" +msgstr "" + +#. type: tbl table +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "MT-Safe" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<getrlimit>()" +msgstr "" + +#. type: TQ +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<setrlimit>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008." +msgstr "" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<prlimit>()" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux." +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +msgid "" +"B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not specified " +"in POSIX.1; they are present on the BSDs and Linux, but on few other " +"implementations. B<RLIMIT_RSS> derives from BSD and is not specified in " +"POSIX.1; it is nevertheless present on most implementations. B<\\" +"%RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and " +"B<\\%RLIMIT_SIGPENDING> are Linux-specific." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2001, SVr4, 4.3BSD." +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "Linux 2.6.36, glibc 2.13." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A child process created via B<fork>(2) inherits its parent's resource " +"limits. Resource limits are preserved across B<execve>(2)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Resource limits are per-process attributes that are shared by all of the " +"threads in a process." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Lowering the soft limit for a resource below the process's current " +"consumption of that resource will succeed (but will prevent the process from " +"further increasing its consumption of the resource)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"One can set the resource limits of the shell using the built-in I<ulimit> " +"command (I<limit> in B<csh>(1)). The shell's resource limits are inherited " +"by the processes that it creates to execute commands." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 2.6.24, the resource limits of any process can be inspected via " +"I</proc/>pidI</limits>; see B<proc>(5)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Ancient systems provided a B<vlimit>() function with a similar purpose to " +"B<setrlimit>(). For backward compatibility, glibc also provides " +"B<vlimit>(). All new applications should be written using B<setrlimit>()." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "C library/kernel ABI differences" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since glibc 2.13, the glibc B<getrlimit>() and B<setrlimit>() wrapper " +"functions no longer invoke the corresponding system calls, but instead " +"employ B<prlimit>(), for the reasons described in BUGS." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The name of the glibc wrapper function is B<prlimit>(); the underlying " +"system call is B<prlimit64>()." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In older Linux kernels, the B<SIGXCPU> and B<SIGKILL> signals delivered when " +"a process encountered the soft and hard B<RLIMIT_CPU> limits were delivered " +"one (CPU) second later than they should have been. This was fixed in Linux " +"2.6.8." +msgstr "" + +#. see http://marc.theaimsgroup.com/?l=linux-kernel&m=114008066530167&w=2 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In Linux 2.6.x kernels before Linux 2.6.17, a B<RLIMIT_CPU> limit of 0 is " +"wrongly treated as \"no limit\" (like B<RLIM_INFINITY>). Since Linux " +"2.6.17, setting a limit of 0 does have an effect, but is actually treated as " +"a limit of 1 second." +msgstr "" + +#. See https://lwn.net/Articles/145008/ +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A kernel bug means that B<RLIMIT_RTPRIO> does not work in Linux 2.6.12; the " +"problem is fixed in Linux 2.6.13." +msgstr "" + +#. see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In Linux 2.6.12, there was an off-by-one mismatch between the priority " +"ranges returned by B<getpriority>(2) and B<RLIMIT_NICE>. This had the " +"effect that the actual ceiling for the nice value was calculated as I<19\\ -" +"\\ rlim_cur>. This was fixed in Linux 2.6.13." +msgstr "" + +#. The relevant patch, sent to LKML, seems to be +#. http://thread.gmane.org/gmane.linux.kernel/273462 +#. From: Roland McGrath <roland <at> redhat.com> +#. Subject: [PATCH 7/7] make RLIMIT_CPU/SIGXCPU per-process +#. Date: 2005-01-23 23:27:46 GMT +#. Tested Solaris 10, FreeBSD 9, OpenBSD 5.0 +#. FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=50951 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 2.6.12, if a process reaches its soft B<RLIMIT_CPU> limit and " +"has a handler installed for B<SIGXCPU>, then, in addition to invoking the " +"signal handler, the kernel increases the soft limit by one second. This " +"behavior repeats if the process continues to consume CPU time, until the " +"hard limit is reached, at which point the process is killed. Other " +"implementations do not change the B<RLIMIT_CPU> soft limit in this manner, " +"and the Linux behavior is probably not standards conformant; portable " +"applications should avoid relying on this Linux-specific behavior. The " +"Linux-specific B<RLIMIT_RTTIME> limit exhibits the same behavior when the " +"soft limit is encountered." +msgstr "" + +#. d3561f78fd379a7110e46c87964ba7aa4120235c +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Kernels before Linux 2.4.22 did not diagnose the error B<EINVAL> for " +"B<setrlimit>() when I<rlim-E<gt>rlim_cur> was greater than I<rlim-" +"E<gt>rlim_max>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Linux doesn't return an error when an attempt to set B<RLIMIT_CPU> has " +"failed, for compatibility reasons." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Representation of \"large\" resource limit values on 32-bit platforms" +msgstr "" + +#. Linux still uses long for limits internally: +#. c022a0acad534fd5f5d5f17280f6d4d135e74e81 +#. kernel/sys.c:do_prlimit() still uses struct rlimit which +#. uses kernel_ulong_t for its members, i.e. 32-bit on 32-bit kernel. +#. https://bugzilla.kernel.org/show_bug.cgi?id=5042 +#. https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201 +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +msgid "" +"The glibc B<getrlimit>() and B<setrlimit>() wrapper functions use a 64-bit " +"I<rlim_t> data type, even on 32-bit platforms. However, the I<rlim_t> data " +"type used in the B<getrlimit>() and B<setrlimit>() system calls is a (32-" +"bit) I<unsigned long>. Furthermore, in Linux, the kernel represents " +"resource limits on 32-bit platforms as I<unsigned long>. However, a 32-bit " +"data type is not wide enough. The most pertinent limit here is B<\\" +"%RLIMIT_FSIZE>, which specifies the maximum size to which a file can grow: " +"to be useful, this limit must be represented using a type that is as wide as " +"the type used to represent file offsets\\[em]that is, as wide as a 64-bit " +"B<off_t> (assuming a program compiled with I<_FILE_OFFSET_BITS=64>)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"To work around this kernel limitation, if a program tried to set a resource " +"limit to a value larger than can be represented in a 32-bit I<unsigned " +"long>, then the glibc B<setrlimit>() wrapper function silently converted " +"the limit value to B<RLIM_INFINITY>. In other words, the requested resource " +"limit setting was silently ignored." +msgstr "" + +#. https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201 +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +msgid "" +"Since glibc 2.13, glibc works around the limitations of the B<\\" +"%getrlimit>() and B<setrlimit>() system calls by implementing " +"B<setrlimit>() and B<\\%getrlimit>() as wrapper functions that call " +"B<prlimit>()." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The program below demonstrates the use of B<prlimit>()." +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"#define _GNU_SOURCE\n" +"#define _FILE_OFFSET_BITS 64\n" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>stdint.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/resource.hE<gt>\n" +"#include E<lt>time.hE<gt>\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" pid_t pid;\n" +" struct rlimit old, new;\n" +" struct rlimit *newp;\n" +"\\&\n" +" if (!(argc == 2 || argc == 4)) {\n" +" fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n" +" \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" pid = atoi(argv[1]); /* PID of target process */\n" +"\\&\n" +" newp = NULL;\n" +" if (argc == 4) {\n" +" new.rlim_cur = atoi(argv[2]);\n" +" new.rlim_max = atoi(argv[3]);\n" +" newp = &new;\n" +" }\n" +"\\&\n" +" /* Set CPU time limit of target process; retrieve and display\n" +" previous limit */\n" +"\\&\n" +" if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n" +" err(EXIT_FAILURE, \"prlimit-1\");\n" +" printf(\"Previous limits: soft=%jd; hard=%jd\\en\",\n" +" (intmax_t) old.rlim_cur, (intmax_t) old.rlim_max);\n" +"\\&\n" +" /* Retrieve and display new CPU time limit */\n" +"\\&\n" +" if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n" +" err(EXIT_FAILURE, \"prlimit-2\");\n" +" printf(\"New limits: soft=%jd; hard=%jd\\en\",\n" +" (intmax_t) old.rlim_cur, (intmax_t) old.rlim_max);\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" + +#. SRC END +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), " +"B<mlock>(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), " +"B<shmctl>(2), B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), " +"B<capabilities>(7), B<cgroups>(7), B<credentials>(7), B<signal>(7)" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "VERSIONS" +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "" +"The B<prlimit>() system call is available since Linux 2.6.36. Library " +"support is available since glibc 2.13." +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "" +"B<getrlimit>(), B<setrlimit>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD." +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "B<prlimit>(): Linux-specific." +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +msgid "" +"B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not specified " +"in POSIX.1; they are present on the BSDs and Linux, but on few other " +"implementations. B<RLIMIT_RSS> derives from BSD and is not specified in " +"POSIX.1; it is nevertheless present on most implementations. " +"B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and " +"B<RLIMIT_SIGPENDING> are Linux-specific." +msgstr "" + +#. #-#-#-#-# debian-bookworm: getrlimit.2.pot (PACKAGE VERSION) #-#-#-#-# +#. Linux still uses long for limits internally: +#. c022a0acad534fd5f5d5f17280f6d4d135e74e81 +#. kernel/sys.c:do_prlimit() still uses struct rlimit which +#. uses kernel_ulong_t for its members, i.e. 32-bit on 32-bit kernel. +#. https://bugzilla.kernel.org/show_bug.cgi?id=5042 +#. http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201 +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: getrlimit.2.pot (PACKAGE VERSION) #-#-#-#-# +#. Linux still uses long for limits internally: +#. c022a0acad534fd5f5d5f17280f6d4d135e74e81 +#. kernel/sys.c:do_prlimit() still uses struct rlimit which +#. uses kernel_ulong_t for its members, i.e. 32-bit on 32-bit kernel. +#. https://bugzilla.kernel.org/show_bug.cgi?id=5042 +#. https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201 +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +msgid "" +"The glibc B<getrlimit>() and B<setrlimit>() wrapper functions use a 64-bit " +"I<rlim_t> data type, even on 32-bit platforms. However, the I<rlim_t> data " +"type used in the B<getrlimit>() and B<setrlimit>() system calls is a (32-" +"bit) I<unsigned long>. Furthermore, in Linux, the kernel represents " +"resource limits on 32-bit platforms as I<unsigned long>. However, a 32-bit " +"data type is not wide enough. The most pertinent limit here is " +"B<RLIMIT_FSIZE>, which specifies the maximum size to which a file can grow: " +"to be useful, this limit must be represented using a type that is as wide as " +"the type used to represent file offsets\\[em]that is, as wide as a 64-bit " +"B<off_t> (assuming a program compiled with I<_FILE_OFFSET_BITS=64>)." +msgstr "" + +#. https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201 +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +msgid "" +"Since glibc 2.13, glibc works around the limitations of the B<getrlimit>() " +"and B<setrlimit>() system calls by implementing B<setrlimit>() and " +"B<getrlimit>() as wrapper functions that call B<prlimit>()." +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#define _GNU_SOURCE\n" +"#define _FILE_OFFSET_BITS 64\n" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>stdint.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>sys/resource.hE<gt>\n" +"#include E<lt>time.hE<gt>\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" pid_t pid;\n" +" struct rlimit old, new;\n" +" struct rlimit *newp;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (!(argc == 2 || argc == 4)) {\n" +" fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n" +" \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " pid = atoi(argv[1]); /* PID of target process */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" newp = NULL;\n" +" if (argc == 4) {\n" +" new.rlim_cur = atoi(argv[2]);\n" +" new.rlim_max = atoi(argv[3]);\n" +" newp = &new;\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" /* Set CPU time limit of target process; retrieve and display\n" +" previous limit */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n" +" err(EXIT_FAILURE, \"prlimit-1\");\n" +" printf(\"Previous limits: soft=%jd; hard=%jd\\en\",\n" +" (intmax_t) old.rlim_cur, (intmax_t) old.rlim_max);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " /* Retrieve and display new CPU time limit */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n" +" err(EXIT_FAILURE, \"prlimit-2\");\n" +" printf(\"New limits: soft=%jd; hard=%jd\\en\",\n" +" (intmax_t) old.rlim_cur, (intmax_t) old.rlim_max);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-07-20" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |