Здравствуйте, fefelov, Вы писали:
F>Здравствуйте, Force_Majeure, Вы писали:
F_M>>Написал простейшего демона, разделив процесс через fork() и setsid(). Родитель завершается, в потомке бесконечный while(1). Подскажите, как теперь сделать управление процессом потомка через команды? Например как обычные демоны, пишешь service iptables stop и iptables завершается. Как сделать такое для моего демона? Видимо я что-то недопонимаю с обработкой сигналов, разъясните, плz.
F>Команда service stop SRV просто вызывает скрипт /etc/init.d/SRV с параметром stop. А уж этот скрипт выполняет соответствующее действие (которое зависит от самого сервиса), например, "киляет" процесс по его PID, выполняя что-то вроде kill `pgrep SRV`. Посмотрите тексты скриптов из каталога /etc/init.d/.
т.е. получается, что "общаться" с демоном можно только передавая ему сигналы, а внутри него переопределяя обработчики этих сигналов? Есть-ли какой-то дипазон сигналов, предназначенный для пользовательских нужд или для этого нужно использовать системные?