telinit выполняется как демон?

Давным-давно я установил серию виртуальных принтеров с CUPS, чтобы съесть PS и отрендерить папку, полную файлов PDF. Аналогичным образом был сделан факсимильный виртуальный принтер, а также некоторые преобразователи ps2ps для автоматического преобразования страниц в настоящий принтер PS.

В любом случае, я думаю, что вы уже на правильном пути, и вам просто нужно бороться с некоторой неясной документацией и традиционным UTSL (используйте исходный код, luke) и RTFS (прочитайте дружественный источник).

Я пишу это, исходя из личного опыта решения той же проблемы, но не могу процитировать какие-либо ссылки на отрывки из документации или что-то еще. Я создал CUPS, когда он был совершенно новым и замечательным, примерно 15 лет назад. Я помню, что это был суперкомплекс и барокко по сравнению с очередями печати lpr.

Другим способом было бы использовать lpr и настроить некоторые записи printcap для виртуальных принтеров, вызывая ghostscript из входных фильтров, указанных в printcap. Фильтрами, скорее всего, должны быть сценарии оболочки, и я совершенно уверен, что в пакете GS есть достаточно инструментов, которые помогут вам создать сценарий входного фильтра.

http://www.ghostscript.com/doc/5.50/Unix-lpr.htm

В зависимости от ваших взглядов подходы CUPS и lpr / GS имеют как свои положительные, так и отрицательные стороны. CUPS позволяет пользователям вашего сетевого принтера лучше видеть очереди печати, в то время как lpr намного проще настроить. По крайней мере, если вы знакомы с инструментами командной строки и текстовыми файлами конфигурации.

0
19.12.2018, 14:27
3 ответа

То, является ли файл символической ссылкой на другой файл, не влияет на то, как он работает. telinit, как и systemctl, работает как «обычный» процесс.

3
28.01.2020, 02:18

На основании этого вопроса и Запускаются ли в sysvinit `telinit `и `init `в одном и том же процессе? Думаю, вы не понимаете, как программы могут взаимодействовать с символическими ссылками.

Когда программа имеет несколько имен, (символические ссылки, жесткие ссылки ), она может выполнять разные действия в зависимости от того, как она вызывается.

Например, вот простой сценарий оболочки

$ кот х

#!/bin/bash

pname=${0##*/}

case $pname in
   tina) echo "Tina Tuner doesn't need another hero" ;;
   fred) echo "The current date is: $(date)" ;;
  harry) sleep 3 ;;
      *) echo Call me tina or fred or harry
esac

Имеет символические ссылки:

$ ls -l x tina fred harry
lrwxrwxrwx 1 sweh sweh   1 Dec 19 09:47 fred -> x*
lrwxrwxrwx 1 sweh sweh   1 Dec 19 09:48 harry -> x*
lrwxrwxrwx 1 sweh sweh   1 Dec 19 09:48 tina -> x*
-rwxr-xr-x 1 sweh sweh 217 Dec 19 09:48 x*

Итак, теперь я могу получить разные результаты, в зависимости от того, как я это назову:

$./tina
Tina Tuner doesn't need another hero
$./fred
The current date is: Wed Dec 19 09:50:00 EST 2018
$./harry
$./x
Call me tina or fred or harry
$ ln -s x something
$./something
Call me tina or fred or harry

Теперь программа sysv-initделает что-то подобное. Если он запущен как telinit, то он просто сигнализирует основной программе init. Если запущен какinit(и, возможно, также, если PID равен 1, но это становится все глубже в сорняки ), тогда он запускается как основной процесс инициализации системы.

Итак, нет; telinitэто не демон.

1
28.01.2020, 02:18

init is run as a daemon. Is telinit run as a daemon?

Нет, двоичный файл init имеет другое поведение при вызове как telinit.

0
28.01.2020, 02:18

Теги

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