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 priocntl(2) function is a more general interface to scheduler functions.
nice() adds the value of incr to the nice value of the calling process. A process’ 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. Only a process with super-user privileges can lower the nice value.
RETURN VALUES
Upon successful completion, nice() returns the new nice value minus NZERO. Otherwise, a value of −1 is returned, the process’ nice value is not changed, and errno is set to indicate the error.
ERRORS
nice() fails if one or more of the following are true:
EINVAL nice() is called by a process in a scheduling class other than time-sharing.
EPERM inc is negative or greater than 40 and the effective user ID of the calling process is not super-user.
USAGE
As −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.
SEE ALSO
SunOS 5.6 — Last change: 5 Feb 1996