Unix for Beginners
Unix Shell Programming
Unix Useful References
Unix Useful Resources
Copyright © 2014 by tutorialspoint
nice() - Unix, Linux System Call
nice - change process priority
int nice(int inc);
inc to the nice value for the calling process.
(A higher nice value means a low priority.)
Only the super user may specify a negative increment,
or priority increase.
The range for nice values is described in
On success, the new nice value is returned (but see NOTES below).
On error, -1 is returned, and
errno is set appropriately.
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.
(But see the discussion of the
RLIMIT_NICE resource limit in
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 EINVAL error code.
SUSv2 and POSIX.1-2001 specify that
nice() should return the new nice value.
However, the Linux syscall and the
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
Since glibc 2.2.4,
nice() is implemented as a library function that calls
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
nice() returns -1.