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.

Debian                                            July 23, 1994                                        RTPRIO(2)