Назад | Перейти на главную страницу

Можно ли настроить процесс linux для запуска ЛЮБОЙ раз, когда он будет готов?

У меня есть процесс, который выполняет небольшой объем работы, а затем засыпает на 1-5 мс. Когда это время ожидания истекло, я хочу, чтобы этот процесс НЕМЕДЛЕННО получил ЦП! Независимо от того, какой процесс уже находится в ЦП, необходимо немедленно удалить его, чтобы освободить место для нового процесса.

Есть ли способ настроить процесс с помощью chrt или аналогичных инструментов для этого?

Я думаю, ты хочешь взглянуть на nice:

NICE(1)                    User Commands                    NICE(1)

NAME
       nice - run a program with modified scheduling priority

SYNOPSIS
       nice [OPTION] [COMMAND [ARG]...]

DESCRIPTION
       Run COMMAND with an adjusted niceness, which affects process
       scheduling.  With no COMMAND, print  the  current  niceness.
       Niceness  values  range  from  -20  (most  favorable  to the
       process) to 19 (least favorable to the process).

Обратите внимание: если вы хотите увеличить приоритет планирования (указав отрицательный nice value) вам потребуется root-доступ (sudo). Обычные пользователи не могут увеличить приоритет, а только уменьшить.

Чтобы получить расписание с наивысшим приоритетом, вам нужно запустить что-то вроде:

$ sudo nice --adjustment=-20 /your/application

Или, если ваш процесс уже запущен, вы можете изменить приоритет следующим образом:

$ sudo renice -n -20 [PID]