RENICE(1POSIX)
๐ RENICE(1POSIX) โ the POSIX Programmer's Manual, but make it cute ๐
okay bestie, quick vibe check before we dive in: this page lives in the POSIX Programmer's Manual. The Linux version of this whole situation might be different (so pls go read the matching Linux manual page for the Linux tea โ), or it might not even be implemented on Linux at all. Not every system shows up to the party, and that's valid.
โจ 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.
no cap, that's the disclaimer and we're keeping it. moving on ๐
๐ธ NAME ๐ธ
renice โ set nice values of running processes
๐ SYNOPSIS ๐
renice [-g|-p|-u] -n increment ID...
๐ฆ DESCRIPTION ๐ฆ
So here's the whole plot: the renice utility shall request that the nice values (peep the Base Definitions volume of POSIX.1โ2017, Section 3.244, Nice Value โ go read it, iykyk) of one or more running processes get changed. By default, the processes we're talking about are specified by their process IDs. But when a process group is specified (see -g), the request applies to all processes in the process group. the way that one flag changes the whole scope?? iconic.
The nice value is bounded in an implementation-defined manner. If your requested increment would raise or lower the nice value of the executed utility beyond those implementation-defined limits, then the limit whose value was exceeded gets used. so like, the ceiling is the ceiling, bestie ๐ซถ
When a user is reniced, the request applies to all processes whose saved set-user-ID matches the user ID corresponding to that user.
And now the serious part, listen up ๐ฅ: regardless of which options are supplied or any other factor whatsoever, renice shall not alter the nice values of any process unless the user requesting the 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. periodt.
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, so it can figure out whether the user has appropriate privileges.
๐ OPTIONS ๐
The renice utility shall conform to the Base Definitions volume of POSIX.1โ2017, Section 12.2, Utility Syntax Guidelines โ except for Guideline 9. (yes, we're being rebellious about exactly one guideline, no more, no less ๐)
The following options shall be supported:
-gโ Interpret the following operands as unsigned decimal integer process group IDs.-nincrement โ 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-poption is the default if no options are specified. (the default queen ๐)-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. she's not reading anything from you, bestie ๐
๐ 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โ2017, 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 ofLC_MESSAGES.
๐ฅ ASYNCHRONOUS EVENTS ๐ฅ
Default.
๐ STDOUT ๐
Not used. no output, no drama ๐
๐ญ STDERR ๐ญ
The standard error shall be used only for diagnostic messages.
๐ฆ OUTPUT FILES ๐ฆ
None.
โจ EXTENDED DESCRIPTION โจ
None. (we love a section that's just chilling ๐)
๐ EXIT STATUS ๐
The following exit values shall be returned:
0โ Successful completion. slay ๐>0โ An error occurred.
๐ธ CONSEQUENCES OF ERRORS ๐ธ
Default.
The following sections are informative.
๐ซถ APPLICATION USAGE ๐ซถ
None.
๐ซ EXAMPLES ๐ซ
- Adjust the nice value so that process IDs
987and32would have a lower nice value:
renice -n 5 -p 987 32
- Adjust the nice value so that group IDs
324and76would have a higher nice value, if the user has appropriate privileges to do so:
renice -n -4 -g 324 76
- Adjust the nice value so that numeric user ID
8and usersaswould 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). lowkey that's the whole speedrun strat ๐
๐ง 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. (they picked a lane and stayed in it โจ)
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โ2017 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โ2017, 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. (naming drama, truly the oldest genre ๐)
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. main character energy for the regular users, fr fr ๐ซถ
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โ2017, Section 3.244, 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-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 .
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 .
and that's the whole page, bestie!! this one came from IEEE/The Open Group, 2017 โ RENICE(1POSIX), that's the source and the date, go forth and renice responsibly ๐โจ๐๐ฆ๐ธ
๐ฆ where this page comes from
- debian bookworm: manpages-posix 2017a-2 ยท Other
- debian trixie: manpages-posix 2017a-2 ยท Other
- ubuntu jammy: manpages-posix 2017a-2 ยท Other
- ubuntu noble: manpages-posix 2017a-2 ยท Other
- ubuntu resolute: manpages-posix 2017a-2build1 ยท Other
- ubuntu stonking: manpages-posix 2017a-2.1 ยท Other
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms