Provided by: manpages-posix_2013a-1_all bug

PROLOG

       This  manual  page is part of the POSIX Programmer's Manual.  The Linux
       implementation of this interface may differ (consult the  corresponding
       Linux  manual page for details of Linux behavior), or the interface may
       not be implemented on Linux.

NAME

       renice — set nice values of running processes

SYNOPSIS

       renice [−g|−p|−u] −n increment ID...

DESCRIPTION

       The renice utility shall request that the nice  values  (see  the  Base
       Definitions  volume  of POSIX.1‐2008, Section 3.240, Nice Value) of one
       or more running  processes  be  changed.  By  default,  the  applicable
       processes  are  specified by their process IDs. When a process group is
       specified (see −g), the request shall apply to  all  processes  in  the
       process group.

       The  nice  value  shall be bounded in an implementation-defined manner.
       If the requested increment would raise or lower the nice value  of  the
       executed  utility  beyond implementation-defined limits, then the limit
       whose value was exceeded shall be used.

       When a user is reniced, the request  applies  to  all  processes  whose
       saved set-user-ID matches the user ID corresponding to the user.

       Regardless  of  which  options are supplied or any other factor, renice
       shall not alter  the  nice  values  of  any  process  unless  the  user
       requesting  such  a  change has appropriate privileges to do so for the
       specified process. If the user lacks appropriate privileges to  perform
       the requested action, the utility shall return an error status.

       The saved set-user-ID of the user's process shall be checked instead of
       its effective user ID when renice attempts to determine the user ID  of
       the  process  in  order  to  determine whether the user has appropriate
       privileges.

OPTIONS

       The renice utility shall conform to  the  Base  Definitions  volume  of
       POSIX.1‐2008,  Section  12.2,  Utility  Syntax  Guidelines,  except for
       Guideline 9.

       The following options shall be supported:

       −g        Interpret the following operands as unsigned decimal  integer
                 process group IDs.

       −n increment
                 Specify  how  the  nice  value  of  the  specified process or
                 processes is to be adjusted. The increment option-argument is
                 a  positive or negative decimal integer that shall be used to
                 modify the nice value of the specified process or processes.

                 Positive increment values shall cause  a  lower  nice  value.
                 Negative  increment values may require appropriate privileges
                 and shall cause a higher nice value.

       −p        Interpret the following operands as unsigned decimal  integer
                 process  IDs.  The −p option is the default if no options are
                 specified.

       −u        Interpret the following operands as users. If a  user  exists
                 with  a  user  name equal to the operand, then the user ID of
                 that user is used in further processing.  Otherwise,  if  the
                 operand  represents  an unsigned decimal integer, it shall be
                 used as the numeric user ID of the user.

OPERANDS

       The following operands shall be supported:

       ID        A process  ID,  process  group  ID,  or  user  name/user  ID,
                 depending on the option selected.

STDIN

       Not used.

INPUT FILES

       None.

ENVIRONMENT VARIABLES

       The  following  environment  variables  shall  affect  the execution of
       renice:

       LANG      Provide  a  default  value   for   the   internationalization
                 variables  that  are unset or null. (See the Base Definitions
                 volume of  POSIX.1‐2008,  Section  8.2,  Internationalization
                 Variables   for   the   precedence   of  internationalization
                 variables used to determine the values of locale categories.)

       LC_ALL    If set to a non-empty string value, override  the  values  of
                 all the other internationalization variables.

       LC_CTYPE  Determine  the  locale for the interpretation of sequences of
                 bytes of text data as characters (for example, single-byte as
                 opposed to multi-byte characters in arguments).

       LC_MESSAGES
                 Determine the locale that should be used to affect the format
                 and contents  of  diagnostic  messages  written  to  standard
                 error.

       NLSPATH   Determine the location of message catalogs for the processing
                 of LC_MESSAGES.

ASYNCHRONOUS EVENTS

       Default.

STDOUT

       Not used.

STDERR

       The standard error shall be used only for diagnostic messages.

OUTPUT FILES

       None.

EXTENDED DESCRIPTION

       None.

EXIT STATUS

       The following exit values shall be returned:

        0    Successful completion.

       >0    An error occurred.

CONSEQUENCES OF ERRORS

       Default.

       The following sections are informative.

APPLICATION USAGE

       None.

EXAMPLES

        1. Adjust the nice value so that process IDs 987 and 32 would  have  a
           lower nice value:

               renicen 5p 987 32

        2. Adjust  the  nice  value  so that group IDs 324 and 76 would have a
           higher nice value, if the user has appropriate privileges to do so:

               renicen4g 324 76

        3. Adjust the nice value so that numeric user ID 8 and user sas  would
           have a lower nice value:

               renicen 4u 8 sas

       Useful  nice  value  increments  on historical systems include 19 or 20
       (the affected processes run  only  when  nothing  else  in  the  system
       attempts  to  run)  and  any  negative  number  (to  make processes run
       faster).

RATIONALE

       The gid, pid, and user specifications do not fit either the  definition
       of  operand  or  option-argument.  However, for clarity, they have been
       included in the OPTIONS section, rather than the OPERANDS section.

       The definition of nice value  is  not  intended  to  suggest  that  all
       processes  in  a system have priorities that are comparable. Scheduling
       policy extensions  such  as  the  realtime  priorities  in  the  System
       Interfaces   volume  of  POSIX.1‐2008  make  the  notion  of  a  single
       underlying priority  for  all  scheduling  policies  problematic.  Some
       implementations  may  implement the nice-related features to affect all
       processes on the system, others to affect just the general time-sharing
       activities  implied by this volume of POSIX.1‐2008, and others may have
       no effect at all. Because of the use of  ``implementation-defined''  in
       nice  and  renice,  a  wide  range  of  implementation  strategies  are
       possible.

       Originally, this utility was written in the  historical  manner,  using
       the  term ``nice value''. This was always a point of concern with users
       because it was never intuitively obvious what this meant. With a  newer
       version  of renice, which used the term ``system scheduling priority'',
       it was hoped that  novice  users  could  better  understand  what  this
       utility  was meant to do. Also, it would be easier to document what the
       utility was meant to do.  Unfortunately,  the  addition  of  the  POSIX
       realtime scheduling capabilities introduced the concepts of process and
       thread scheduling  priorities  that  were  totally  unaffected  by  the
       nice/renice utilities or the nice()/setpriority() functions. Continuing
       to use the term ``system scheduling priority'' would  have  incorrectly
       suggested  that  these  utilities  and  functions were indeed affecting
       these realtime priorities. It was decided to revert to  the  historical
       term ``nice value'' to reference this unrelated process attribute.

       Although  this  utility  has  use by system administrators (and in fact
       appears in the system administration portion of the BSD documentation),
       the  standard  developers  considered  that  it  was  very  useful  for
       individual end users to control their own processes.

       Earlier versions of this standard allowed the following  forms  in  the
       SYNOPSIS:

           renice nice_value[−p] pid...[−g gid...][−p pid...][−u user...]
           renice nice_value g gid...[−g gid...]−p pid...][−u user...]
           renice nice_value u user...[−g gid...]−p pid...][−u user...]

       These  forms are no longer specified by POSIX.1‐2008 but may be present
       in some implementations.

FUTURE DIRECTIONS

       None.

SEE ALSO

       nice

       The Base Definitions volume of POSIX.1‐2008, Section 3.240, Nice Value,
       Chapter   8,   Environment  Variables,  Section  12.2,  Utility  Syntax
       Guidelines

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  7,  Copyright  (C)  2013  by  the  Institute  of
       Electrical and Electronics Engineers, Inc and The Open Group.  (This is
       POSIX.1-2008  with  the  2013  Technical Corrigendum 1 applied.) In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained  online
       at http://www.unix.org/online.html .

       Any  typographical  or  formatting  errors that appear in this page are
       most likely to have been introduced during the conversion of the source
       files    to   man   page   format.   To   report   such   errors,   see
       https://www.kernel.org/doc/man-pages/reporting_bugs.html .