trusty (2) rtprio.2freebsd.gz

Provided by: freebsd-manpages_9.2+1-1_all bug

NAME

     rtprio — examine or modify a process realtime or idle priority

LIBRARY

     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;
     };

     The value of the type field may be RTP_PRIO_REALTIME for realtime priorities, RTP_PRIO_NORMAL for normal
     priorities, and RTP_PRIO_IDLE for idle priorities.  The priority specified by the prio field ranges between
     0 and 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.