trusty (2) nice.2.gz

Provided by: manpages-dev_3.54-1ubuntu1_all bug

NAME

       nice - change process priority

SYNOPSIS

       #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

DESCRIPTION

       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  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 EINVAL error code.

NOTES

       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.

SEE ALSO

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

COLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the  project,  and
       information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.