Linux команды · 3 min read · Dec 22, 2025
Учебник по команде chrt в Linux для начинающих (5 примеров)

Процессы составляют основу работающей системы Linux. Когда программа преобразуется в процесс (то есть когда она выполняется), устанавливается множество атрибутов. Иногда вам может понадобиться изменить эти атрибуты во время выполнения. Существует инструмент командной строки chrt, который позволяет это сделать.
В этом учебнике мы обсудим эту утилиту с несколькими простыми примерами. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры в этой статье были протестированы на машине с Ubuntu 18.04 LTS.
Команда chrt в Linux
Как уже упоминалось в разделе введения выше, команда chrt позволяет вам управлять атрибутами реального времени процесса. Вот ее синтаксис:
chrt [options] -p [prio] pidА вот как страница man этого инструмента объясняет это:
chrt sets or retrieves the real-time scheduling attributes of an exist?
ing 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.Следующие примеры в формате вопросов и ответов должны дать вам хорошее представление о том, как работает команда chrt.
Вопрос 1. Как использовать команду chrt?
Предположим, вы хотите изменить политику планирования или приоритет процесса gedit. Первое, что вам нужно сделать, это получить идентификатор процесса для этого процесса, что вы можете сделать с помощью команды pidof.
pidof geditНа моей системе, например, вышеуказанная команда выдала pid ‘6063’ в качестве результата. Теперь, чтобы получить текущую политику планирования и приоритет для процесса gedit, используйте chrt следующим образом:
chrt -p 6063А вот вывод, который эта команда произвела на моей системе:
pid 6063's current scheduling policy: SCHED_OTHER
pid 6063's current scheduling priority: 0Вопрос 2. Как заставить chrt показать минимальные/максимальные допустимые приоритеты?
Это можно сделать с помощью параметра командной строки -m.
chrt -mНапример, на нашей системе вышеуказанная команда выдала следующий вывод:
SCHED_OTHER min/max priority : 0/0
SCHED_FIFO min/max priority : 1/99
SCHED_RR min/max priority : 1/99
SCHED_BATCH min/max priority : 0/0
SCHED_IDLE min/max priority : 0/0Вам нужно будет обратиться к этим значениям для установки приоритета при установке политик планирования.
Вопрос 3. Как установить политику планирования на SCHED_BATCH?
Это можно сделать с помощью параметра командной строки -b.
Например:
chrt -b -p 0 6063Теперь, если вы снова проверите политику планирования для gedit, используя следующую команду:
chrt -p 6063Вы должны получить вывод, похожий на следующий, что означает, что внесенные вами изменения были применены:
pid 6063's current scheduling policy: SCHED_BATCH
pid 6063's current scheduling priority: 0Вопрос 4. Как установить политику планирования на SCHED_FIFO?
Это можно сделать с помощью параметра командной строки -f.
chrt -f -p 20 6063Как и в предыдущем вопросе и ответе, вы можете перепроверить изменения, используя команду chrt -p. Обратите внимание, что вам могут потребоваться права суперпользователя для использования параметра командной строки -f.
Вопрос 5. Как установить политику планирования на SCHED_OTHER?
Это можно сделать с помощью параметра командной строки -o.
chrt -o -p 0 6063Чтобы проверить, используйте команду chrt -p.
chrt -p 6063Вот вывод в моем случае:
pid 6063's current scheduling policy: SCHED_OTHER
pid 6063's current scheduling priority: 0Заключение
Согласен, команда chrt не является инструментом, который вы можете использовать каждый день. Черт возьми, вам может даже не понадобиться она, пока вы не займётесь управлением системой или работой над чем-то, связанным с планированием ядра. Тем не менее, стоит знать, что такой инструмент существует. Для получения дополнительной информации о chrt, перейдите на его страницу man.
Get new posts in your inbox
No spam. Unsubscribe anytime.