Запуск модулей ядра: відмінності між версіями
Sv (обговорення | внесок) (Новая страница: «У каждого модуля ядра есть параметр автозапуска. Важно понимать как он работает. Главное…») |
Sv (обговорення | внесок) мНемає опису редагування |
||
(Не показані 3 проміжні версії цього користувача) | |||
Рядок 3: | Рядок 3: | ||
* при изменении этого параметра модуль ядра не будет ни запускаться ни останавливаться | * при изменении этого параметра модуль ядра не будет ни запускаться ни останавливаться | ||
* параметр автозапуска имеет значение только когда запускается ядро без параметра -m | * параметр автозапуска имеет значение только когда запускается ядро без параметра -m | ||
Параметр -m указывает запустить ядро с '''одним конкретным''' модулем. Если просто запустить ядро, например, так: | |||
<syntaxhighlight lang="bash"> | |||
perl /usr/local/nodeny/nokernel.pl -v | |||
</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> | |||
Если вы убираете автозапуск модуля, модуль будет продолжать работать пока вы не рестартуете ядро |
Поточна версія на 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 &
Если вы убираете автозапуск модуля, модуль будет продолжать работать пока вы не рестартуете ядро