Т.е. в точной терминологии, многозадачная система Linux не является ОС с приоритетным планированием.
Но (кроме из программного кода) можно запускать любую команду с дисциплинами планирования реального времени - SCHED_FIFO и SCHED_RR - командой chrt. Этой же командой можно диагностировать с каким планированием и приоритетом выполняется любая задача.
Код: Выделить всё
$ sudo chrt -r 50 bash
# ps
PID TTY TIME CMD
3068 pts/2 00:00:00 sudo
3074 pts/2 00:00:00 bash
3100 pts/2 00:00:00 ps
# chrt -p 3074
pid 3074's current scheduling policy: SCHED_RR
pid 3074's current scheduling priority: 50
# chrt -r -p 5 3074
# chrt -p 3074
pid 3074's current scheduling policy: SCHED_RR
pid 3074's current scheduling priority: 5
Код: Выделить всё
$ sudo chrt -f 20 bash
# ps
PID TTY TIME CMD
3288 pts/2 00:00:00 sudo
3294 pts/2 00:00:00 bash
3320 pts/2 00:00:00 ps
# chrt -p 3294
pid 3294's current scheduling policy: SCHED_FIFO
pid 3294's current scheduling priority: 20
# chrt -r -p -r 10 3294
# chrt -p 3294
pid 3294's current scheduling policy: SCHED_RR
pid 3294's current scheduling priority: 10
# chrt -r -p -o 0 3294
# chrt -p 3294
pid 3294's current scheduling policy: SCHED_OTHER
pid 3294's current scheduling priority: 0
# exit
Команда имеет и дополнительные опции, например, показывает максимальные границы приоритетов для разных дисциплин планирования:
Код: Выделить всё
$ chrt --max
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