Добрый день. Прошу совета у тех кто с подобным сталкивался. Есть демон. Написан на С. Запущеный под рутом, но потом понижает права до nobody. Есть инит скрипт под него /etc/init.d/daemon start|stop Не могу понять как реализовать механизм управления им и проверки статуса через веб (через php). В идеале чтоб была форма с двумя кнопками "старт" и "стоп". Если он запущен, то "старт" неактивна. Если не запущен, то "стоп" неактивна. С реализацией я справлюсь. Идею только подкиньте. Вся проблема в том, что демона надо под рутом пускать. Я пока прикинул идею настроить sudo и разрешить пхп запускать тот скрипт под рутом. но может у кого-то есть более элегантная идея? Заранее благодарен за внимание.
Нет не могу. Написан без особых изысков. Создает поток, отключает stdin, stdout,stderr. потом setuid подобные функции и потом уже полезная нагрузка.
furang создавайте pid файл и проверяйте жив ли процесс. Или же с помощью программы pidof это делайте. Вполне нормальная идея настроить /etc/sudoers. Чем она вам не нравится?
Ну это одно из возможных решений. Просто все это будет таскаться с системы на систему. Хотелось бы все уладить на уровне кода , и меньше лезть в системные файлы. Ну и плюс лучше рассмотреть несколько вариантов, взвесить и тогда уже принимать решение.