PR_SETRLIMIT(3PROC) | Process Control Library Functions | PR_SETRLIMIT(3PROC) |
pr_setrlimit
,
pr_setrlimit64
— inject
setrlimit system call into victim process
Process Control Library (libproc, -lproc)
#include
<libproc.h>
int
pr_setrlimit
(struct ps_prochandle
*P, int resource, const struct
rlimit *rlp);
int
pr_setrlimit64
(struct ps_prochandle
*P, int resource, struct
rlimit64 *rlp);
The
pr_setrlimit
()
function injects the setrlimit(2)
system call into the target process P by means of the
agent LWP. If the process handle P is the value
NULL
then this will be equivalent to calling
setrlimit(2) on the currently
running process.
The arguments resource and rlp have the same meaning as in setrlimit(2). See setrlimit(2) for the full description and purpose of the setrlimit system call and its arguments.
The
pr_setrlimit
()
function only works on active processes. Process handles that correspond to
core files, zombie processes, or ELF objects do not support system call
injection.
The
pr_setrlimit64
()
function is equivalent to pr_setrlimit
(); however,
rather than having the rlimit information be subject to the data model of
the target process, they always provide 64-bit rlimit information. See
lf64(7) for more information.
Upon successful completion, the
pr_setrlimit
() function's return value is that
described in setrlimit(2).
Otherwise, -1 is
returned and
errno is
set to ENOSYS
to indicate that the system call could
not be injected.
For the full list of errors see the ERRORS section in setrlimit(2).
The pr_setrlimit
() function will fail
if:
ENOSYS
See LOCKING in libproc(3LIB).
November 27, 2023 | OmniOS |