getpriority, setpriority - get or set process priority
returns the priority of the indicated processes.
sets the priority of the indicated processes to priority.
The processes are indicated by which and who, where which can have one
of the following values:
Get or set the priority of the specified process where
who is the process ID. A who of implies the
process ID of the calling process.
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 implies the process-group ID of the
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 implies the
user ID of the calling process.
If more than one process is indicated, the value returned by is the
lowest valued priority of all the indicated processes, and sets the
priority of all indicated processes.
priority is a value from to where lower values indicate better priori‐
ties. 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 appro‐
These system calls are subject to compartmental restrictions which
restrict their access to processes in other compartments. This
restriction covers for querying the priority of processes in other com‐
partments, and for changing the priority of processes in other compart‐
ments. See compartments(5) for more information about compartmental‐
ization on systems that support that feature.
Compartmental restrictions can be overridden if the process has the
privilege (PRIV_COMMALLOWED). Processes owned by the superuser may not
have this privilege. Processes owned by any user may have this privi‐
lege, depending on system configuration.
requires the privilege (PRIV_OWNER) to change the priority of a process
whose uid does not match the caller's real or effective uid.. Pro‐
cesses owned by the superuser have this privilege. Processes owned by
other users may have this privilege, depending on system configuration.
requires the privilege (PRIV_LIMIT). Processes owned by the superuser
have this privilege. Processes owned by other users may have this
privilege, depending on system configuration.
returns the following values:
n is an integer priority in the range to
is set to indicate the error. See WARNINGS below.
returns the following values:
is set to indicate the error.
If or fails, is set to one of the following values:
[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 pri‐
ority of a process to a smaller priority value
without having appropriate privileges.
[ESRCH] Processes indicated by which and who cannot be
can return both when it successfully finds a priority of and when it
fails. To determine whether a failure occurred, set to before calling
then examine after the call returns.
and were developed by the University of California, Berkeley.
SEE ALSOnice(1), renice(1M), nice(2).