chrt — manipulate the real-time attributes of a process


chrt [options] prio command [arg...]

chrt [options] −p [prio] pid


chrt sets or retrieves the real-time scheduling attributes of an existing pid, or runs command with the given attributes. Both policy (one of SCHED_OTHER, SCHED_FIFO, SCHED_RR, SCHED_BATCH, or SCHED_IDLE) and priority can be set and retrieved.

The SCHED_BATCH policy is supported since Linux 2.6.16. The SCHED_IDLE policy is supported since Linux 2.6.23.

The SCHED_RESET_ON_FORK flag for policies SCHED_RR and SCHED_FIFO is supported since Linux 2.6.31.



Set or retrieve the scheduling attributes of all the tasks (threads) for a given PID.


Set scheduling policy to SCHED_BATCH (Linux specific).


Set scheduling policy to SCHED_FIFO.


Set scheduling policy to SCHED_IDLE (Linux specific).


Show minimum and maximum valid priorities, then exit.


Set policy scheduling policy to SCHED_OTHER.


Operate on an existing PID and do not launch a new task.


Set scheduling policy to SCHED_RR. When policy is not defined the SCHED_RR is used as default.


Add SCHED_RESET_ON_FORK flag to the SCHED_FIFO or SCHED_RR scheduling policy (Linux specific).


Show status information.


Display help text and exit.


Display version information and exit.


The default behavior is to run a new command:

chrt prio command[arguments]

You can also retrieve the real-time attributes of an existing task:

chrt −p pid

Or set them:

chrt −r −p prio pid


A user must possess CAP_SYS_NICE to change the scheduling attributes of a process. Any user can retrieve the scheduling information.


Only SCHED_FIFO, SCHED_OTHER and SCHED_RR are part of POSIX 1003.1b Process Scheduling. The other scheduling attributes may be ignored on some systems.

Linux default scheduling policy is SCHED_OTHER.


Written by Robert M. Love.


Copyright © 2004 Robert M. Love

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


taskset(1), nice(1), renice(1)

See sched_setscheduler(2) for a description of the Linux scheduling scheme.


The chrt command is part of the util-linux package and is available from

  chrt(1) manpage

Copyright (C) 2004 Robert Love

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.

The GNU General Public License's references to "object code"
and "executables" are to be interpreted as the output of any
document formatting or typesetting system, including
intermediate and printed output.

This manual is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

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 <>
Initial version