GETPRIORITY(2) UNIX Programmer's Manual GETPRIORITY(2) NAME getpriority, setpriority - get/set program scheduling prior- ity SYNOPSIS #include 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 11/26/99 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 11/26/99 May 22, 1986 2