nice(2)


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(): _XOPEN_SOURCE
       || /* Since glibc 2.19: */ _DEFAULT_SOURCE
       || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

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

   The range of the  nice  value  is  +19  (low  priority)  to  -20  (high
   priority).   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
   unprivileged 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 appropriately.

   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
          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

   POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.  However, the raw system call
   and (g)libc (earlier than glibc 2.2.4) return value is nonstandard, see
   below.

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
   circumstances.  For details, see sched(7).

   C library/kernel differences
   POSIX.1 specifies  that  nice()  should  return  the  new  nice  value.
   However, 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
   provides conformance to POSIX.1 by calling getpriority(2) to obtain the
   new nice value, which is then returned to the caller.

SEE ALSO

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

COLOPHON

   This page is part of release 4.09 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
   https://www.kernel.org/doc/man-pages/.


More Linux Commands

manpages/xkbvleds.1.html
xkbvleds(1) - XKB extension user utility - Linux man page...
This program is used to display the state of LEDs on an XKB keyboard. It reports the changes in the fundamental components of the XKB state which includes the e

manpages/XParseColor.3.html
XParseColor(3) - obtain color values - Linux manual page....
The XQueryColor function returns the current RGB value for the pixel in the XColor structure and sets the DoRed, DoGreen, and DoBlue flags. The XQueryColors fun

manpages/wget.1.html
wget(1) - The non-interactive network downloader. (ManPage)
GNU Wget is a free utility for non-interactive download of files from the Web. It supports HTTP, HTTPS, and FTP protocols, as well as retrieval through HTTP pro

manpages/perl58delta.1.html
perl58delta(1) - what is new for perl v5.8.0 (Man Page).....
This document describes differences between the 5.6.0 release and the 5.8.0 release. Many of the bug fixes in 5.8.0 were already seen in the 5.6.1 maintenance r

manpages/intro.4.html
intro.4 - intro(4) - Introduction to special files - Linux man page...
Section 4 of the manual describes special files (devices). FILES /dev/* device files NOTES Authors and copyright conditions Look at the header of the manual pag

manpages/Tcl_InputBlocked.3.html
Tcl_InputBlocked(3) - buffered I/O facilities using channels
The Tcl channel mechanism provides a device-independent and platform-independent mechanism for performing buffered input and output operations on a variety of f

manpages/unpost_menu.3menu.html
unpost_menu(3menu) - write or erase menus from associated su
The function post_menu displays a menu to its associated subwindow. To trigger physical display of the subwindow, use refresh or some equivalent curses routine

manpages/repomdxml2solv.1.html
repomdxml2solv(1) convert a repomd.xml file into a solv file
The repomd.xml file is the index file of a rpm-md repository, containing references to all data file with checksums. The repomdxml2solv tool reads the repomd.xm

manpages/sane-as6e.5.html
sane-as6e(5) - SANE backend for using the Artec AS6E paralle
The sane-as6e library implements a SANE (Scanner Access Now Easy) backend that provides access to Artec AS6E flatbed scanner. It requires the as6edriver program

manpages/_nc_tracebits.3ncurses.html
_nc_tracebits(3ncurses) - curses debugging routines.........
The trace routines are used for debugging the ncurses libraries, as well as applications which use the ncurses libraries. These functions are normally available

manpages/gacutil.1.html
gacutil(1) - Global Assembly Cache management utility.......
gacutil is a tool used by developers to install versioned assemblies into the system Global Assembly Cache (GAC) to become part of the assemblies that are avail

manpages/slabtop.1.html
slabtop(1) - display kernel slab cache information in real t
slabtop displays detailed kernel slab cache information in real time. It displays a listing of the top caches sorted by one of the listed sort criteria. It also





We can't live, work or learn in freedom unless the software we use is free.