dwww Home | Manual pages | Find package

nice(2)                       System Calls Manual                       nice(2)

NAME
       nice - change process priority

LIBRARY
       Standard C library (libc, -lc)

SYNOPSIS
       #include <unistd.h>

       int nice(int inc);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       nice():
           _XOPEN_SOURCE
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION
       nice()  adds  inc  to  the nice value for the calling thread.  (A higher
       nice value means a lower priority.)

       The range of the nice value is +19 (low priority) to  -20  (high  prior-
       ity).  Attempts to set a nice value outside the range are clamped to the
       range.

       Traditionally,  only  a  privileged  process  could lower the nice value
       (i.e., set a higher priority).  However, since Linux 2.6.12, an unprivi-
       leged process can decrease the nice value of a target process that has a
       suitable RLIMIT_NICE soft limit; see getrlimit(2) for details.

RETURN VALUE
       On success, the new nice value is returned (but see  NOTES  below).   On
       error, -1 is returned, and errno is set to indicate the error.

       A  successful  call can legitimately return -1.  To detect an error, set
       errno to 0 before the call, and check whether it is nonzero after nice()
       returns -1.

ERRORS
       EPERM  The calling process attempted to increase its priority by supply-
              ing 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).)

VERSIONS
   C library/kernel differences
       POSIX.1 specifies that nice() should return the new  nice  value.   How-
       ever,  the  raw  Linux  system call returns 0 on success.  Likewise, the
       nice() wrapper function provided in glibc 2.2.3 and earlier returns 0 on
       success.

       Since glibc 2.2.4, the nice() wrapper function provided  by  glibc  pro-
       vides conformance to POSIX.1 by calling getpriority(2) to obtain the new
       nice value, which is then returned to the caller.

STANDARDS
       POSIX.1-2008.

HISTORY
       POSIX.1-2001, SVr4, 4.3BSD.

NOTES
       For further details on the nice value, see sched(7).

       Note: the addition of the "autogroup" feature in Linux 2.6.38 means that
       the  nice  value  no  longer  has its traditional effect in many circum-
       stances.  For details, see sched(7).

SEE ALSO
       nice(1), renice(1),  fork(2),  getpriority(2),  getrlimit(2),  setprior-
       ity(2), capabilities(7), sched(7)

Linux man-pages 6.9.1              2024-05-02                           nice(2)

Generated by dwww version 1.16 on Tue Dec 16 04:30:23 CET 2025.