# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-06-01 05:53+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \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 debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "" #. type: TH #: archlinux debian-unstable #, no-wrap msgid "Linux man-pages 6.8" 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, 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 Esys/resource.hE>\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 "" "BIB<, struct rlimit *>IB<);>\n" "BIB<, const struct rlimit *>IB<);>\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 "" "BIB<, int >IB<,>\n" "B< const struct rlimit *_Nullable >IB<,>\n" "B< struct rlimit *_Nullable >IB<);>\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(7)):" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "B():" 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() and B() system calls get and set resource " "limits. Each resource has an associated soft and hard limit, as defined by " "the I 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 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 denotes no limit on a resource (both in the " "structure returned by B() and in the structure passed to " "B())." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The I 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" 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(2), B(2), and B(2), " "which fail with the error B upon exceeding this limit. In addition, " "automatic stack expansion fails (and generates a B that kills the " "process if no alternate stack has been made available via " "B(2)). Since the value is a I, on machines with a 32-bit " "I 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" 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 file (see B(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" 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 " "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 once per second until the hard limit is reached, at which time it " "is sent B. (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.)" msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" 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(2), B(2), and (since Linux 4.7) B(2), which fail with " "the error B 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" 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 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(2), B(2)) fails with the error B." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (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(2) locks and " "B(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" 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(2), B(2), and the " "B(2) B operation. Since Linux 2.6.9, it also affects the " "B(2) B operation, where it sets a maximum on the total " "bytes in shared memory segments (see B(2)) that may be locked by " "the real user ID of the calling process. The B(2) B " "locks are accounted for separately from the per-process memory locks " "established by B(2), B(2), and B(2) B; 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 (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(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 is the I structure specified as the fourth argument " "to B(3), and the I and I 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 (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(2) or B(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 typically is the same as -1. For more detail on the nice " "value, see B(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" 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(2), B(2), " "B(2), etc.) to exceed this limit yield the error B. " "(Historically, this limit was named B 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 capability) may have \"in flight\" to other processes, " "by being passed across UNIX domain sockets. This limit applies to the " "B(2) system call. For further details, see B(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" 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(2) fails with the error " "B." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B limit is not enforced for processes that have either the " "B or the B 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" 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 30, and there affects only calls to B(2) specifying " "B." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (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(2) and B(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(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 (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(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 signal. If " "the process catches or ignores this signal and continues consuming CPU time, " "then B will be generated once each second until the hard limit is " "reached, at which point the process is sent a B 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 (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(3); it is always possible to use B(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" 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 signal is generated. To handle this signal, a process " "must employ an alternate signal stack (B(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(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 #. Date: Tue May 4 18:03:50 2010 +0200 #. rlimits: implement prlimit64 syscall #. commit 6a1d5e2c85d06da35cdfd93f1a27675bfdc3ad8c #. Author: Jiri Slaby #. 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() system call combines and extends the " "functionality of B() and B(). 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 argument has the same meaning as for B() and " "B()." 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 argument is not NULL, then the I structure to " "which it points is used to set new values for the soft and hard limits for " "I. If the I argument is not NULL, then a successful " "call to B() places the previous soft and hard limits for " "I in the I structure pointed to by I." 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 argument specifies the ID of the process on which the call is to " "operate. If I 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 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 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 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" 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" 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 is not valid; or, for B() or " "B(): Irlim_cur> was greater than Irlim_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" 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 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 limit above the " "maximum defined by I (see B(5))" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(B()) The calling process did not have permission to set limits " "for the process specified by I." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" 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." 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(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(),\n" "B(),\n" "B()" 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()" msgstr "" #. type: TQ #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" 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()" 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 and B derive from BSD and are not specified " "in POSIX.1; they are present on the BSDs and Linux, but on few other " "implementations. B derives from BSD and is not specified in " "POSIX.1; it is nevertheless present on most implementations. B<\\" "%RLIMIT_MSGQUEUE>, B, B, B, 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(2) inherits its parent's resource " "limits. Resource limits are preserved across B(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 " "command (I in B(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 " "IpidI; see B(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() function with a similar purpose to " "B(). For backward compatibility, glibc also provides " "B(). All new applications should be written using B()." 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() and B() wrapper " "functions no longer invoke the corresponding system calls, but instead " "employ B(), 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(); the underlying " "system call is B()." 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 and B signals delivered when " "a process encountered the soft and hard B 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 limit of 0 is " "wrongly treated as \"no limit\" (like B). 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 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(2) and B. 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 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 limit and " "has a handler installed for B, 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 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 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 for " "B() when Irlim_cur> was greater than Irlim_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 has " "failed, for compatibility reasons." msgstr "" #. type: SS #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, no-wrap msgid "Representation of \\[dq]large\\[dq] 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() and B() wrapper functions use a 64-bit " "I data type, even on 32-bit platforms. However, the I data " "type used in the B() and B() system calls is a (32-" "bit) I. Furthermore, in Linux, the kernel represents " "resource limits on 32-bit platforms as I. 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 (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, then the glibc B() wrapper function silently converted " "the limit value to B. 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() system calls by implementing " "B() and B<\\%getrlimit>() as wrapper functions that call " "B()." 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()." 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 Eerr.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/resource.hE\n" "#include Etime.hE\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 EpidE [Enew-soft-limitE \"\n" " \"Enew-hard-limitE]\\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(1), B(2), B(2), B(2), B(2), " "B(2), B(2), B(2), B(2), B(2), " "B(2), B(3), B(3), B(3), B(5), " "B(7), B(7), B(7), B(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() 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(), B(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD." msgstr "" #. type: Plain text #: debian-bookworm msgid "B(): Linux-specific." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 msgid "" "B and B derive from BSD and are not specified " "in POSIX.1; they are present on the BSDs and Linux, but on few other " "implementations. B derives from BSD and is not specified in " "POSIX.1; it is nevertheless present on most implementations. " "B, B, B, B, and " "B are Linux-specific." msgstr "" #. type: SS #: debian-bookworm fedora-40 mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "Representation of \"large\" resource limit values on 32-bit platforms" 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() and B() wrapper functions use a 64-bit " "I data type, even on 32-bit platforms. However, the I data " "type used in the B() and B() system calls is a (32-" "bit) I. Furthermore, in Linux, the kernel represents " "resource limits on 32-bit platforms as I. However, a 32-bit " "data type is not wide enough. The most pertinent limit here is " "B, 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 (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() " "and B() system calls by implementing B() and " "B() as wrapper functions that call B()." msgstr "" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#define _FILE_OFFSET_BITS 64\n" "#include Eerr.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Esys/resource.hE\n" "#include Etime.hE\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 EpidE [Enew-soft-limitE \"\n" " \"Enew-hard-limitE]\\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 #: fedora-40 mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "2024-02-25" msgstr "" #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" 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 "" #. type: TH #: opensuse-tumbleweed #, no-wrap msgid "Linux man-pages (unreleased)" msgstr ""