4.3BSD-UWisc/man/cat2/getpriority.2
GETPRIORITY(2) UNIX Programmer's Manual GETPRIORITY(2)
NAME
getpriority, setpriority - get/set program scheduling prior-
ity
SYNOPSIS
#include <sys/resource.h>
prio = getpriority(which, who)
int prio, which, who;
setpriority(which, who, prio)
int which, who, prio;
DESCRIPTION
The scheduling priority of the process, process group, or
user, as indicated by _w_h_i_c_h and _w_h_o is obtained with the
_g_e_t_p_r_i_o_r_i_t_y call and set with the _s_e_t_p_r_i_o_r_i_t_y call. _W_h_i_c_h
is one of PRIO_PROCESS, PRIO_PGRP, or PRIO_USER, and _w_h_o is
interpreted relative to _w_h_i_c_h (a process identifier for
PRIO_PROCESS, process group identifier for PRIO_PGRP, and a
user ID for PRIO_USER). A zero value of _w_h_o denotes the
current process, process group, or user. _P_r_i_o is a value in
the range -20 to 20. The default priority is 0; lower
priorities cause more favorable scheduling.
The _g_e_t_p_r_i_o_r_i_t_y call returns the highest priority (lowest
numerical value) enjoyed by any of the specified processes.
The _s_e_t_p_r_i_o_r_i_t_y call sets the priorities of all of the
specified processes to the specified value. Only the
super-user may lower priorities.
RETURN VALUE
Since _g_e_t_p_r_i_o_r_i_t_y can legitimately return the value -1, it
is necessary to clear the external variable _e_r_r_n_o prior to
the call, then check it afterward to determine if a -1 is an
error or a legitimate value. The _s_e_t_p_r_i_o_r_i_t_y call returns 0
if there is no error, or -1 if there is.
ERRORS
_G_e_t_p_r_i_o_r_i_t_y and _s_e_t_p_r_i_o_r_i_t_y may return one of the following
errors:
[ESRCH] No process was located using the _w_h_i_c_h and
_w_h_o values specified.
[EINVAL] _W_h_i_c_h was not one of PRIO_PROCESS, PRIO_PGRP,
or PRIO_USER.
In addition to the errors indicated above, _s_e_t_p_r_i_o_r_i_t_y may
fail with one of the following errors returned:
[EPERM] A process was located, but neither its
Printed 12/27/86 May 22, 1986 1
GETPRIORITY(2) UNIX Programmer's Manual GETPRIORITY(2)
effective nor real user ID matched the effec-
tive user ID of the caller.
[EACCES] A non super-user attempted to lower a process
priority.
SEE ALSO
nice(1), fork(2), renice(8)
Printed 12/27/86 May 22, 1986 2