Запуск модулей ядра: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Немає опису редагування
мНемає опису редагування
 
(Не показано одну проміжну версію цього користувача)
Рядок 10: Рядок 10:
</syntaxhighlight>
</syntaxhighlight>


оно запустит все модули, у которых прописан автозапуск.
оно запустит все модули, у которых прописан автозапуск. При этом все они будут выполняться последовательно по кругу. Если же какой-то из модулей может "тупить", например, он обращается по API к внешнему сервису, то он соответственно может приводить к тому, что иные модули будут выполнять свои задачи позже запланированного (подтупливать). В этом случае, есть смысл убрать параметр автозапуска для таких тупящих модулей, а запускать их отдельно. Таким образом, у вас может быть запущено несколько процессов nokernel (один для модулей в одном потоке, иные персонально для каждого модуля):
 
 
<syntaxhighlight lang="bash">
perl /usr/local/nodeny/nokernel.pl -d &
perl /usr/local/nodeny/nokernel.pl -d -m=services &
perl /usr/local/nodeny/nokernel.pl -d -m=balance &
</syntaxhighlight>


<br>
<br>


Если вы убираете автозапуск модуля, модуль будет продолжать работать пока вы не рестартуете ядро
Если вы убираете автозапуск модуля, модуль будет продолжать работать пока вы не рестартуете ядро

Поточна версія на 14:08, 22 вересня 2023

У каждого модуля ядра есть параметр автозапуска. Важно понимать как он работает. Главное:

  • при изменении этого параметра модуль ядра не будет ни запускаться ни останавливаться
  • параметр автозапуска имеет значение только когда запускается ядро без параметра -m

Параметр -m указывает запустить ядро с одним конкретным модулем. Если просто запустить ядро, например, так:

perl /usr/local/nodeny/nokernel.pl -v

оно запустит все модули, у которых прописан автозапуск. При этом все они будут выполняться последовательно по кругу. Если же какой-то из модулей может "тупить", например, он обращается по API к внешнему сервису, то он соответственно может приводить к тому, что иные модули будут выполнять свои задачи позже запланированного (подтупливать). В этом случае, есть смысл убрать параметр автозапуска для таких тупящих модулей, а запускать их отдельно. Таким образом, у вас может быть запущено несколько процессов nokernel (один для модулей в одном потоке, иные персонально для каждого модуля):


perl /usr/local/nodeny/nokernel.pl -d &
perl /usr/local/nodeny/nokernel.pl -d -m=services &
perl /usr/local/nodeny/nokernel.pl -d -m=balance &


Если вы убираете автозапуск модуля, модуль будет продолжать работать пока вы не рестартуете ядро