NICE(2) manual page
Table of Contents
nice - change process priority
#include
<unistd.h>
int nice(int inc);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)
):
nice(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE
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)
.
On success, the new nice value
is returned (but see NOTES below). On error, -1 is returned, and errno is
set appropriately.
- 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. (But see the discussion
of the RLIMIT_NICE resource limit in setrlimit(2)
.)
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 getpriority(2)
.
Since glibc 2.2.4,
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 nice() returns
-1.
nice(1)
, renice(1)
, fork(2)
, getpriority(2)
, setpriority(2)
,
capabilities(7)
, sched(7)
This page is part of release 3.78 of the
Linux man-pages project. A description of the project, information about
reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.
Table of Contents