NICE(2)

NAME
nice - change process priority

SYNOPSIS
#include <unistd.h>

int nice(int inc);

DESCRIPTION
nice adds inc to the nice value for the calling pid. (A large nice value means a low priority.) Only the superuser may specify a negative increment, or priority increase.

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

ERRORS

EPERM
    The calling process attempted to increase its priority by supplying a negative inc but has insufficient privileges. Under Linux the CAP_SYS_NICE capability is required.

CONFORMING TO
SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. However, the Linux and glibc (earlier than glibc 2.2.4) return value is nonstandard, see below. SVr4 documents an additional EINVAL error code.

NOTES
Note that the routine is documented in SUSv2 and POSIX 1003.1-2003 to return the new nice value, while the Linux syscall and (g)libc (earlier than glibc 2.2.4) routines return 0 on success. The new nice value can be found using getpriority(2). Note that an implementation in which nice returns the new nice value can legitimately return -1. To reliably detect an error, set errno to 0 before the call, and check its value when nice returns -1.

SEE ALSO
nice(1), fork(2), getpriority(2), setpriority(2), capabilities(7), renice(8)