table of contents
RTPRIO(2) | System Calls Manual | RTPRIO(2) |
NAME¶
rtprio — examine or modify a process realtime or idle priorityLIBRARY¶
Standard C Library (libc, -lc)SYNOPSIS¶
#include <sys/types.h>#include <sys/rtprio.h> int
rtprio(int function, pid_t pid, struct rtprio *rtp);
DESCRIPTION¶
The rtprio() system call is used to lookup or change the realtime or idle priority of a process. The function argument specifies the operation to be performed. RTP_LOOKUP to lookup the current priority, and RTP_SET to set the priority. The pid argument specifies the process to be used, 0 for the current process. The *rtp argument is a pointer to a struct rtprio which is used to specify the priority and priority type. This structure has the following form:struct rtprio { u_short type; u_short prio; };
RTP_PRIO_MAX (usually 31)
.
0 is the highest possible priority.
Realtime and idle priority is inherited through fork() and exec().
A realtime process can only be preempted by a process of equal or higher
priority, or by an interrupt; idle priority processes will run only when no
other real/normal priority process is runnable. Higher real/idle priority
processes preempt lower real/idle priority processes. Processes of equal
real/idle priority are run round-robin.
RETURN VALUES¶
The rtprio() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.ERRORS¶
The rtprio() system call will fail if- [
EINVAL
] - The specified prio was out of range.
- [
EPERM
] - The calling process is not allowed to set the realtime priority. Only root is allowed to change the realtime priority of any process, and non-root may only change the idle priority of the current process.
- [
ESRCH
] - The specified process was not found.
SEE ALSO¶
nice(1), ps(1), rtprio(1), setpriority(2), nice(3), renice(8)AUTHORS¶
The original author was Henrik Vestergaard Draboel ⟨hvd@terry.ping.dk⟩. This implementation in FreeBSD was substantially rewritten by David Greenman.July 23, 1994 | Debian |