|
Модераторы: powerfox, ZeeLax |
|
konshyn |
|
|||
Опытный Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
Всем привет.
Есть собственноручно написанный демон. Его нужно поместить в автозагрузку, чтобы он работал даже тогда, когда в систему не вошел ни один пользователь. Чтобы каждый пользователь мог посмотреть, что этот демон работает, и если что - основить или запустить его, а когда выйдет из системы, чтобы демон продолжал работать. Расскажу, что происходит и как я понимаю работу системы и что конкретно нужно (чтобы не давали советы типа "изучи shell"). Демон - сетевая служба. Он должен запускаться после того, как поднимутся все сетевые интерфейсы - их много. есть просто vlan'ы, есть просто интерфейсы, которые не имеют IP-адреса. Интерфейс, который не имеет IP-адреса при загрузке не поднимается сам, поэтому в rc.local прописано ifconfig ethN up. Следовательно, демон должен запускаться посое выполнения rc.local. Есть скрипт для демона, правда не готов из-за таких вопросов, который понимает команды start/stop. Его нужно поместить в init.d. На какие уровни нужно поместить символические ссылки (rcN.d), чтобы он запускался после поднятия всех интерфейсов. Скрипты из rcN.d запускаются как? С параметром start или без параметров? Как более грамотно должен быть написан демон и скрипт к нему? Демон должен выполянть fork();exit(); как здесь написано, и создавать mydaemon.pid файл? И как должен вести себя скрипт. Я не совсем понимаю пример из /etc/init.d/skeleton, т.к. не знаю, как точно правильнее будет написать демона. И на что он должен реагировать. Пример из выше приведенной ссылки мне не нравится, т.к. не хочется, чтобы демон запускался с параметрами start/stop/reload. Хочется, чтобы реагировал на сигналы, к примеру SIGTERM для "правильного" завершения. start-stop-daemon тоже не совсем укладывается в моей голове - описание есть, и в /etc/init.d/skeleton пример есть , а понимания работы - нет. -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
spin2 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 598 Регистрация: 15.12.2005 Где: Москва-Одесса Репутация: 2 Всего: 31 |
Если после интерфейсов - то в rc3.
Да и в тот же rc.local можно. -------------------- |
|||
|
||||
konshyn |
|
|||
Опытный Профиль Группа: Участник Сообщений: 295 Регистрация: 19.9.2013 Репутация: нет Всего: нет |
rc.local запускается до входа в систему? -------------------- «Потому что ценность акта действия в этой стране возрастает в несколько раз». |
|||
|
||||
svlary |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 207 Регистрация: 8.9.2009 Репутация: нет Всего: 4 |
Нассколько я понял, Вы пишите СЕТЕВОЙ демон, который работает с сетью. Для таких задач в Linux есть специальное средство:
12.17 Сетевая служба xinetd Процесс xinetd — это самостоятельная сетевая служба, организующая ра- боту большинствапростыхсервисов системы. Вместо запуска большогоколи- чества самостоятельных служб, предоставляющих сервисы на определенных портах,можнонастроить xinetd дляприемасоединенийизапускапрограмм обработки сервисов. Сервисы, предоставляемые xinetd , как правило, определяются в файле /etc/xinetd.conf , а также в файлах каталога /etc/xinetd.d/ Файлы определений сервисов распространяются вместе с пакетами, а их структура подробно описана в интерактивном руководстве Linux (man xinetd.conf) |
|||
|
||||
Правила форума "Linux/UNIX: Администрирование" | |
|
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Администрирование *NIX систем | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |