renice.1p (9358B)
- '\" et
- .TH RENICE "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
- .\"
- .SH 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.
- .\"
- .SH NAME
- renice
- \(em set nice values of running processes
- .SH SYNOPSIS
- .LP
- .nf
- renice \fB[\fR-g|-p|-u\fB] \fR-n \fIincrement ID\fR...
- .fi
- .SH DESCRIPTION
- The
- .IR renice
- utility shall request that the nice values (see the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 3.244" ", " "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
- .BR \-g ),
- the request shall apply to all processes in the process group.
- .P
- The nice value shall be bounded in an implementation-defined manner.
- If the requested
- .IR 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.
- .P
- When a user is
- .IR renice d,
- the request applies to all processes whose saved set-user-ID matches
- the user ID corresponding to the user.
- .P
- Regardless of which options are supplied or any other factor,
- .IR 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.
- .P
- The saved set-user-ID of the user's process shall be checked instead of
- its effective user ID when
- .IR renice
- attempts to determine the user ID of the process in order to determine
- whether the user has appropriate privileges.
- .SH OPTIONS
- The
- .IR renice
- utility shall conform to the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 12.2" ", " "Utility Syntax Guidelines",
- except for Guideline 9.
- .P
- The following options shall be supported:
- .IP "\fB\-g\fP" 10
- Interpret the following operands as unsigned decimal integer process
- group IDs.
- .IP "\fB\-n\ \fIincrement\fR" 10
- Specify how the nice value of the specified process or processes is to
- be adjusted. The
- .IR 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.
- .RS 10
- .P
- Positive
- .IR increment
- values shall cause a lower nice value. Negative
- .IR increment
- values may require appropriate privileges and shall cause a higher
- nice value.
- .RE
- .IP "\fB\-p\fP" 10
- Interpret the following operands as unsigned decimal integer process
- IDs. The
- .BR \-p
- option is the default if no options are specified.
- .IP "\fB\-u\fP" 10
- 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.
- .SH OPERANDS
- The following operands shall be supported:
- .IP "\fIID\fR" 10
- A process ID, process group ID, or user name/user ID, depending on the
- option selected.
- .SH STDIN
- Not used.
- .SH "INPUT FILES"
- None.
- .SH "ENVIRONMENT VARIABLES"
- The following environment variables shall affect the execution of
- .IR renice :
- .IP "\fILANG\fP" 10
- Provide a default value for the internationalization variables that are
- unset or null. (See the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 8.2" ", " "Internationalization Variables"
- for the precedence of internationalization variables used to determine
- the values of locale categories.)
- .IP "\fILC_ALL\fP" 10
- If set to a non-empty string value, override the values of all the
- other internationalization variables.
- .IP "\fILC_CTYPE\fP" 10
- 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).
- .IP "\fILC_MESSAGES\fP" 10
- .br
- Determine the locale that should be used to affect the format and
- contents of diagnostic messages written to standard error.
- .IP "\fINLSPATH\fP" 10
- Determine the location of message catalogs for the processing of
- .IR LC_MESSAGES .
- .SH "ASYNCHRONOUS EVENTS"
- Default.
- .SH STDOUT
- Not used.
- .SH STDERR
- The standard error shall be used only for diagnostic messages.
- .SH "OUTPUT FILES"
- None.
- .SH "EXTENDED DESCRIPTION"
- None.
- .SH "EXIT STATUS"
- The following exit values shall be returned:
- .IP "\00" 6
- Successful completion.
- .IP >0 6
- An error occurred.
- .SH "CONSEQUENCES OF ERRORS"
- Default.
- .LP
- .IR "The following sections are informative."
- .SH "APPLICATION USAGE"
- None.
- .SH EXAMPLES
- .IP " 1." 4
- Adjust the nice value so that process IDs 987 and 32 would have a lower
- nice value:
- .RS 4
- .sp
- .RS 4
- .nf
- renice -n 5 -p 987 32
- .fi
- .P
- .RE
- .RE
- .IP " 2." 4
- 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:
- .RS 4
- .sp
- .RS 4
- .nf
- renice -n -4 -g 324 76
- .fi
- .P
- .RE
- .RE
- .IP " 3." 4
- Adjust the nice value so that numeric user ID 8 and user
- .BR sas
- would have a lower nice value:
- .RS 4
- .sp
- .RS 4
- .nf
- renice -n 4 -u 8 sas
- .fi
- .P
- .RE
- .RE
- .P
- 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).
- .SH RATIONALE
- The
- .IR gid ,
- .IR pid ,
- and
- .IR 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.
- .P
- 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\(hy2017 make the
- notion of a single underlying priority for all scheduling policies
- problematic. Some implementations may implement the
- .IR 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\(hy2017, and others may
- have no effect at all. Because of the use of
- ``implementation-defined'' in
- .IR nice
- and
- .IR renice ,
- a wide range of implementation strategies are possible.
- .P
- 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
- .IR 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
- .IR nice /\c
- .IR renice
- utilities or the
- \fInice\fR()/\c
- \fIsetpriority\fR()
- 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.
- .P
- 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.
- .P
- Earlier versions of this standard allowed the following forms in the
- SYNOPSIS:
- .sp
- .RS 4
- .nf
- renice \fInice_value\fB[\fR-p\fB] \fIpid\fR...\fB[\fR-g \fIgid\fR...\fB][\fR-p \fIpid\fR...\fB][\fR-u \fIuser\fR...\fB]\fR
- renice \fInice_value -g \fIgid\fR...\fB[\fR-g \fIgid\fR...\fB]\fR-p \fIpid\fR...\fB][\fR-u \fIuser\fR...\fB]\fR
- renice \fInice_value -u \fIuser\fR...\fB[\fR-g \fIgid\fR...\fB]\fR-p \fIpid\fR...\fB][\fR-u \fIuser\fR...\fB]\fR
- .fi
- .P
- .RE
- .P
- These forms are no longer specified by POSIX.1\(hy2008 but may be
- present in some implementations.
- .SH "FUTURE DIRECTIONS"
- None.
- .SH "SEE ALSO"
- .IR "\fInice\fR\^"
- .P
- The Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 3.244" ", " "Nice Value",
- .IR "Chapter 8" ", " "Environment Variables",
- .IR "Section 12.2" ", " "Utility Syntax Guidelines"
- .\"
- .SH COPYRIGHT
- Portions of this text are reprinted and reproduced in electronic form
- from IEEE Std 1003.1-2017, Standard for Information Technology
- -- Portable Operating System Interface (POSIX), The Open Group Base
- Specifications Issue 7, 2018 Edition,
- Copyright (C) 2018 by the Institute of
- Electrical and Electronics Engineers, Inc and The Open Group.
- 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.opengroup.org/unix/online.html .
- .PP
- 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 .