Provided by: manpages-posix_2013a-2_all 

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:
renice −n 5 −p 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:
renice −n −4 −g 324 76
3. Adjust the nice value so that numeric user ID 8 and user sas would have a lower nice value:
renice −n 4 −u 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 .
IEEE/The Open Group 2013 RENICE(1POSIX)