В sysvinit запускаются ли telinit и init в одном и том же процессе?

В https://manpages.debian.org/stretch/sysvinit-core/init.8.en.html

/sbin/telinit связан с /sbin/init . Требуется односимвольный аргумент и сигналы init для выполнения соответствующего действия.

...

Init прослушивает fifo в /run, /run/initctl, для сообщений. Telinit использует это для связи с init.

Означает ли первое предложение, что telinit является символической ссылкой на init? Если да, то правильно ли, что telinit и init запускаются в одном и том же процессе (например, с помощью блокировки файла)? Если да, то как telinit может взаимодействовать с init с помощью FIFO или сигналов?

Для сравнения, в Systemd systemd и systemctl — разные программные файлы. Выполняет ли telinit ту же роль, что и init в sysvinit, как systemctl и systemd?

Спасибо.

-2
19.12.2018, 04:17
1 ответ

Это символическая ссылка, но программы могут смотреть на то, как они вызываются, и выполнять различные действия. Это чрезвычайно распространено в мире Unix.

Таким образом, когда вы запускаете команду telinit, она выполняется в собственном пространстве процесса, отдельно от процесса init. Он посылает сообщение процессу init. Это может быть отправлено через FIFO или сигналом, в зависимости от параметров времени компиляции.

3
28.01.2020, 05:15

Теги

Похожие вопросы