getpriority, setpriority - get or set process priority
int getpriority(int which, int who);
int setpriority(int which, int who, int priority);
getpriority() returns the priority of the indicated processes.
setpriority() sets the priority of the indicated processes to
The processes are indicated by which and who, where which can have one
of the following values:
PRIO_PROCESS Get or set the priority of the specified
process where who is the process ID. A who
of 0 implies the process ID of the calling
PRIO_PGRP Get or set the priority of the specified
process group where who is the process-group
ID, indicating all processes belonging to
that process-group. A who of 0 implies the
process-group ID of the calling process.
PRIO_USER Get or set the priority of the specified user
where who is the user ID, indicating all
processes owned by that user. A who of 0
implies the user ID of the calling process.
If more than one process is indicated, the value returned by
getpriority() is the lowest valued priority of all the indicated
processes, and setpriority() sets the priority of all indicated
priority is a value from -20 to 20, where lower values indicate better
priorities. The default priority for a process is 0.
If the calling process contains more than one thread or lightweight
process (i.e., the process is multi-threaded) these functions shall
apply to all threads or lightweight processes in the calling process.
The priority specified (or retrieved) is the same for all threads or
lightweight processes in a process. Negative priorities require
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
getpriority() returns the following values:
n Successful completion. n is an integer priority in the
range -20 to 20.
-1 Failure. errno is set to indicate the error. See WARNINGS
setpriority() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
If getpriority() or setpriority() fails, errno is set to one of the
[EACCES] The calling process does not have access rights to
change one or more of the indicated processes.
All processes for which access is allowed are
[EINVAL] which is not one of the choices listed above, or
who is out of range.
[EPERM] The calling process attempted to change the
priority of a process to a smaller priority value
without having appropriate privileges.
[ESRCH] Processes indicated by which and who cannot be
getpriority() can return -1 both when it successfully finds a priority
of -1 and when it fails. To determine whether a failure occurred, set
errno to 0 before calling getpriority(), then examine errno after the
getpriority() and setpriority() were developed by the University of
nice(1), renice(1M), nice(2).
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000