NAME
nice - change process priority
SYNOPSIS
#include <unistd.h>
I int nice(int inc );
DESCRIPTION
R nice ()
adds
inc
to the nice value for the calling process.
(A higher nice value means a low priority.)
Only the superuser may specify a negative increment,
or priority increase.
The range for nice values is described in
getpriority(2).
RETURN VALUE
On success, the new nice value is returned (but see NOTES below).
On error, -1 is returned, and
errno
is set appropriately.
ERRORS
EPERM
The calling process attempted to increase its priority by
supplying a negative
R inc
but has insufficient privileges.
Under Linux the
CAP_SYS_NICE
capability is required.
(But see the discussion of the
RLIMIT_NICE
resource limit in
setrlimit(2).)
CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001.
However, the Linux and (g)libc
(earlier than glibc 2.2.4) return value is nonstandard, see below.
SVr4 documents an additional
R EINVAL
error code.
NOTES
SUSv2 and POSIX.1-2001 specify that
R nice ()
should return the new nice value.
However, the Linux syscall and the
R nice ()
library function provided in older versions of (g)libc
(earlier than glibc 2.2.4) return 0 on success.
The new nice value can be found using
getpriority(2).
Since glibc 2.2.4,
R nice ()
is implemented as a library function that calls
getpriority(2)
to obtain the new nice value to be returned to the caller.
With this implementation,
a successful call can legitimately return -1.
To reliably detect an error, set
errno
to 0 before the call, and check its value when
R nice ()
returns -1.
SEE ALSO