]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - schedutils/chrt.1
rev: be careful with close()
[thirdparty/util-linux.git] / schedutils / chrt.1
index e22d69d53ef32d9531fb0e31a77c2df183b6b977..166579e2d13b2c0382acc9c1f7c60179599f2527 100644 (file)
@@ -1,11 +1,11 @@
 .\" chrt(1) manpage
 .\"
 .\" Copyright (C) 2004 Robert Love
+.\" Copyright (C) 2015 Karel Zak <kzak@redhat.com>
 .\"
 .\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License.
+.\" modify it under the terms of the GNU General Public License,
+.\" version 2, as published by the Free Software Foundation.
 .\"
 .\" The GNU General Public License's references to "object code"
 .\" and "executables" are to be interpreted as the output of any
 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 .\" GNU General Public License for more details.
 .\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" You should have received a copy of the GNU General Public License along
+.\" with this program; if not, write to the Free Software Foundation, Inc.,
+.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 .\"
-.\" 2002-05-11 Robert Love <rml@tech9.net>
-.\"    Initial version
-.\"
-.TH CHRT "1" "June 2010" "schedutils" "Linux User's Manual"
+.TH CHRT 1 "January 2016" "util-linux" "User Commands"
 .SH NAME
-chrt \- manipulate real-time attributes of a process
+chrt \- manipulate the real-time attributes of a process
 .SH SYNOPSIS
 .B chrt
-.RI [ options ]\  prio
-.IR command\  [ arg ]...
+[options]
+.IR priority\ command\  [ argument ...]
 .br
 .B chrt
-.RI [ options ]
+[options]
 .B \-p
-.RI [ prio ]\  pid
+.RI [ priority ]\  pid
 .SH DESCRIPTION
 .PP
-.BR chrt (1)
-sets or retrieves the real-time scheduling attributes of an existing PID, or
-runs COMMAND with the given attributes.  Both policy (one of
-.BR SCHED_OTHER ,
-.BR SCHED_FIFO ,
-.BR SCHED_RR ,
-.BR SCHED_BATCH ,
-or
-.BR SCHED_IDLE )
-and priority can be set and retrieved.
-.PP
-The
-.BR SCHED_BATCH
-policy is supported since Linux 2.6.16. The
-.BR SCHED_IDLE
-policy is supported since Linux 2.6.23.
-.PP
-The
-.BR SCHED_RESET_ON_FORK
-flag for policies SCHED_RR and SCHED_FIFO is supported
-since Linux 2.6.31.
-.SH OPTIONS
+.B chrt
+sets or retrieves the real-time scheduling attributes of an existing \fIpid\fR,
+or runs \fIcommand\fR with the given attributes.
+
+.SH POLICIES
+.TP
+\fB\-o\fR, \fB\-\-other\fR
+Set scheduling policy to
+.BR SCHED_OTHER .
+This is the default Linux scheduling policy.
 .TP
-.B -p, --pid
-operate on an existing PID and do not launch a new task
+\fB\-f\fR, \fB\-\-fifo\fR
+Set scheduling policy to \fBSCHED_FIFO\fR.
 .TP
-.B -b, --batch
-set scheduling policy to
-.BR SCHED_BATCH
-(Linux specific)
+\fB\-r\fR, \fB\-\-rr\fR
+Set scheduling policy to
+.BR SCHED_RR .
+When no policy is defined, the
+.B SCHED_RR
+is used as the default.
 .TP
-.B -f, --fifo
-set scheduling policy to
-.BR SCHED_FIFO
+\fB\-b\fR, \fB\-\-batch\fR
+Set scheduling policy to
+.B SCHED_BATCH
+(Linux-specific, supported since 2.6.16).  The priority argument has to be set to zero.
 .TP
-.B -i, --idle
-set scheduling policy to
-.BR SCHED_IDLE
-(Linux specific)
+\fB\-i\fR, \fB\-\-idle\fR
+Set scheduling policy to
+.B SCHED_IDLE
+(Linux-specific, supported since 2.6.23).  The priority argument has to be set to zero.
+.TP
+.BR -d ,\  --deadline
+Set scheduling policy to
+.B SCHED_DEADLINE
+(Linux-specific, supported since 3.14).  The priority argument has to be set to zero.
+See also \fB\-\-sched\-runtime\fR, \fB\-\-sched\-deadline\fR and
+\fB\-\-sched\-period\fR.  The relation between the options required by the kernel is
+runtime <= deadline <= period.
+.B chrt
+copies \fIperiod\fR to \fIdeadline\fR if \fB\-\-sched\-deadline\fR is not specified and
+\fIdeadline\fR to \fIruntime\fR if \fB\-\-sched\-runtime\fR is not specified.
+It means that at least \fB\-\-sched\-period\fR has to be specified.  See
+.BR sched (7)
+for more details.
+
+.SH "SCHEDULING OPTIONS"
 .TP
-.B -m, --max
-show minimum and maximum valid priorities, then exit
+\fB\-T\fR, \fB\-\-sched\-runtime\fR \fInanoseconds\fR
+Specifies runtime parameter for SCHED_DEADLINE policy (Linux-specific).
 .TP
-.B -o, --other
-set policy scheduling policy to
-.BR SCHED_OTHER
+\fB\-P\fR, \fB\-\-sched\-period\fR \fInanoseconds\fR
+Specifies period parameter for SCHED_DEADLINE policy (Linux-specific).
 .TP
-.B -r, --rr
-set scheduling policy to
-.BR SCHED_RR
-(the default)
+\fB\-D\fR, \fB\-\-sched\-deadline\fR \fInanoseconds\fR
+Specifies deadline parameter for SCHED_DEADLINE policy (Linux-specific).
 .TP
-.B -R, --reset-on-fork
-add
+\fB\-R\fR, \fB\-\-reset-on-fork\fR
+Add
 .B SCHED_RESET_ON_FORK
 flag to the
 .B SCHED_FIFO
 or
 .B SCHED_RR
-scheduling policy (Linux specific)
+scheduling policy (Linux-specific, supported since 2.6.31).
+
+.SH OPTIONS
+.TP
+.BR -a ,\  --all-tasks
+Set or retrieve the scheduling attributes of all the tasks (threads) for a
+given PID.
+.TP
+.BR -m ,\  --max
+Show minimum and maximum valid priorities, then exit.
 .TP
-.B -v, --verbose
-show status information
+.BR -p ,\  --pid
+Operate on an existing PID and do not launch a new task.
 .TP
-.B -h, --help
-display usage information and exit
+.BR -v ,\  --verbose
+Show status information.
 .TP
-.B -V, --version
-display version information and exit
+.BR -V ,\  --version
+Display version information and exit.
+.TP
+.BR -h ,\  --help
+Display help text and exit.
 .SH USAGE
 .TP
-The default behavior is to run a new command::
-chrt prio command [arguments]
+The default behavior is to run a new command:
+.B chrt
+.I priority
+.IR command\  [ arguments ]
 .TP
 You can also retrieve the real-time attributes of an existing task:
-chrt -p pid
+.B chrt \-p
+.I pid
 .TP
 Or set them:
-chrt -p prio pid
+.B chrt \-r \-p
+.I priority pid
 .SH PERMISSIONS
 A user must possess
-.BR CAP_SYS_NICE
+.B CAP_SYS_NICE
 to change the scheduling attributes of a process.  Any user can retrieve the
 scheduling information.
+
 .SH NOTES
 Only
 .BR SCHED_FIFO ,
-.BR SCHED_OTHER
+.B SCHED_OTHER
 and
-.BR SCHED_RR
-are part of POSIX 1003.1b Process Scheduling. The other scheduling attributes
+.B SCHED_RR
+are part of POSIX 1003.1b Process Scheduling.  The other scheduling attributes
 may be ignored on some systems.
-.SH AUTHOR
-Written by Robert M. Love.
-.SH COPYRIGHT
-Copyright \(co 2004 Robert M. Love
-.br
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-.SH "SEE ALSO"
-.BR taskset (1),
+.P
+Linux' default scheduling policy is
+.BR SCHED_OTHER .
+.SH SEE ALSO
 .BR nice (1),
-.BR renice (1)
+.BR renice (1),
+.BR taskset (1),
+.BR sched (7)
 .sp
 See
 .BR sched_setscheduler (2)
 for a description of the Linux scheduling scheme.
+.SH AUTHORS
+.UR rml@tech9.net
+Robert Love
+.UE
+.br
+.UR kzak@redhat.com
+Karel Zak
+.UE
 .SH AVAILABILITY
 The chrt command is part of the util-linux package and is available from
-ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+https://www.kernel.org/pub/linux/utils/util-linux/.