Запуск модулей ядра: відмінності між версіями
Sv (обговорення | внесок) Немає опису редагування |
Sv (обговорення | внесок) мНемає опису редагування |
||
Рядок 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 &
Если вы убираете автозапуск модуля, модуль будет продолжать работать пока вы не рестартуете ядро