NICE(2) System Calls NICE(2)
NAME
nice - change priority of a process
SYNOPSIS
#include <unistd.h>
int nice(
int incr);
DESCRIPTION
The
nice() function allows a process to change its priority. The
invoking process must be in a scheduling class that supports the
nice().
The
nice() function adds the value of
incr to the nice value of the
calling process. A process's nice value is a non-negative number for
which a greater positive value results in lower
CPU priority.
A maximum nice value of (2 *
NZERO) -1 and a minimum nice value of 0 are
imposed by the system.
NZERO is defined in <
limits.h> with a default
value of 20. Requests for values above or below these limits result in
the nice value being set to the corresponding limit. A nice value of 40
is treated as 39.
Calling the
nice() function has no effect on the priority of processes or
threads with policy
SCHED_FIFO or
SCHED_RR.
Only a process with the {
PRIV_PROC_PRIOCNTL} privilege can lower the nice
value.
RETURN VALUES
Upon successful completion,
nice() returns the new nice value minus
NZERO. Otherwise, -1 is returned, the process's
nice value is not
changed, and
errno is set to indicate the error.
ERRORS
The
nice() function will fail if:
EINVAL The
nice() function is called by a process in a scheduling
class other than time-sharing or fixed-priority.
EPERM The
incr argument is negative or greater than 40 and the
{
PRIV_PROC_PRIOCNTL} privilege is not asserted in the effective
set of the calling process.
USAGE
The
priocntl(2) function is a more general interface to scheduler
functions.
Since -1 is a permissible return value in a successful situation, an
application wishing to check for error situations should set
errno to 0,
then call
nice(), and if it returns
-1, check to see if
errno is non-
zero.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Standard |
+--------------------+-------------------+
|MT-Level | Async-Signal-Safe |
+--------------------+-------------------+
SEE ALSO
nice(1),
exec(2),
priocntl(2),
getpriority(3C),
attributes(7),
privileges(7),
standards(7) April 1, 2004
NICE(2)