.\" Copyright (c) 1983, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\"    must display the following acknowledgement:
.\"	This product includes software developed by the University of
.\"	California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)renice.8	8.1 (Berkeley) 6/9/93
.\"
.TH RENICE "1" "July 2014" "util-linux" "User Commands"
.SH NAME
renice \- alter priority of running processes
.SH SYNOPSIS
.B renice
.RB [ \-n ]
.I priority
.RB [ \-g | \-p | \-u ]
.IR identifier ...
.SH DESCRIPTION
.B renice
alters the scheduling priority of one or more running processes.  The
first argument is the \fIpriority\fR value to be used.
The other arguments are interpreted as process IDs (by default),
process group IDs, user IDs, or user names.
.BR renice 'ing
a process group causes all processes in the process group to have their
scheduling priority altered.
.BR renice 'ing
a user causes all processes owned by the user to have their scheduling
priority altered.
.PP
.SH OPTIONS
.TP
.BR \-n , " \-\-priority " \fIpriority\fR
Specify the scheduling
.I priority
to be used for the process, process group, or user.  Use of the option
.BR \-n " or " \-\-priority
is optional, but when used it must be the first argument.
.TP
.BR \-g , " \-\-pgrp
Interpret the succeeding arguments as process group IDs.
.TP
.BR \-p , " \-\-pid
Interpret the succeeding arguments as process IDs
(the default).
.TP
.BR \-u , " \-\-user
Interpret the succeeding arguments as usernames or UIDs.
.TP
.BR \-V , " \-\-version"
Display version information and exit.
.TP
.BR \-h , " \-\-help"
Display help text and exit.
.SH EXAMPLES
The following command would change the priority of the processes with
PIDs 987 and 32, plus all processes owned by the users daemon and root:
.TP
.B "       renice" +1 987 -u daemon root -p 32
.SH NOTES
Users other than the superuser may only alter the priority of processes they
own.  Furthermore, an unprivileged user can only
.I increase
the ``nice value'' (i.e., choose a lower priority)
and such changes are irreversible unless (since Linux 2.6.12)
the user has a suitable ``nice'' resource limit (see
.BR ulimit (1)
and
.BR getrlimit (2)).

The superuser may alter the priority of any process and set the priority to any
value in the range \-20 to 19.
Useful priorities are: 19 (the affected processes will run only when nothing
else in the system wants to), 0 (the ``base'' scheduling priority), anything
negative (to make things go very fast).
.SH FILES
.TP
.I /etc/passwd
to map user names to user IDs
.SH SEE ALSO
.BR nice (1),
.BR getpriority (2),
.BR setpriority (2),
.BR credentials (7),
.BR sched (7)
.SH HISTORY
The
.B renice
command appeared in 4.0BSD.
.SH AVAILABILITY
The renice command is part of the util-linux package and is available from
.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/
Linux Kernel Archive
.UE .
