HP-UX Reference (11i v2 03/08) - 2 System Calls (vol 5)

g
getpriority(2) getpriority(2)
NAME
getpriority, setpriority - get or set process priority
SYNOPSIS
#include <sys/resource.h>
int getpriority(int which, int who);
int setpriority(int which, int who, int priority);
DESCRIPTION
getpriority()
returns the priority of the indicated processes.
setpriority()
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:
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 process.
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, indicat-
ing 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 prior-
ity of all the indicated processes, and
setpriority()
sets the priority of all indicated processes.
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 appropriate privileges.
RETURN VALUE
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 below.
setpriority() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
ERRORS
If
getpriority() or setpriority() fails, errno is set to one of the following values:
[EACCES] The calling process does not have access rights to change one or more of the indi-
cated processes. All processes for which access is allowed are still affected.
[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 prior-
ity value without having appropriate privileges.
[ESRCH] Processes indicated by which and who cannot be found.
WARNINGS
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 call returns.
AUTHOR
getpriority() and setpriority() were developed by the University of California, Berkeley.
Section 2104 Hewlett-Packard Company 1 HP-UX 11i Version 2: August 2003