Как начать писать процесс демона в Unix-подобной операционной системе, например, в Linux? - PullRequest
1 голос
/ 01 сентября 2010

Я делаю инструмент на PHP для личного пользования.Но PHP очень медленный, и задача, которую мне нужно сделать, занимает много времени, поэтому я создам демон в c ++ и буду держать его в фоновом режиме (он будет работать в VPS).

PHP будет подключаться к демону через простой сокет tcp (я постараюсь спроектировать / использовать простой протокол IPC), чтобы передать задачу.Демон будет управлять задачами с помощью простой очереди FIFO.PHP будет только запускать задачу, но не будет ждать, пока она не закончится, потому что это может занять несколько минут (PHP тоже будет следить за задачей - но это уже другая тема).

Веб / PHP интерфейс не будет проблемой вообще.Но у меня нет опыта программирования на Unix Daemon.Я создал простые консольные программы на C ++ для Linux, поэтому мне просто нужно руководство / книга / руководство и советы, чтобы начать разработку демонов Unix.

Спасибо.

1 Ответ

5 голосов
/ 01 сентября 2010

http://www.enderunix.org/docs/eng/daemon.php предоставляет довольно подробное, но краткое введение с примером кода, который, кажется, охватывает все важные биты. В разделе «Расширенное программирование в среде UNIX (2-е издание)» содержится гораздо более подробное описание, если вы готовы потратить немного денег на бумагу (оно того стоит, ИМХО).

Приведенная выше ссылка не относится к сценариям инициализации, но вы, вероятно, сможете выяснить это при некотором поиске - все, что вам нужно, это какой-то способ запуска кода демона и способ отправки его сигналов позже - обычно вы пишете PID демона в файл / var / run / XXX.

...