Найти - Пользователи
Полная версия: Правильное завершение демона
Начало » Python для новичков » Правильное завершение демона
1
Ramzes3
Коллеги, приветствую,

Не так дано пишу на питоне, возникла необходимость написать демона.
Написал, даже работает но есть один вопрос:

Демон как и положено запускается от root. Создаю файл /var/run/daemon.pid. Далее в процессе демонизации для обеспечения безопасности системы меняю uid и gid процесса демона на обычного юзера.
Все здорово, пока не приходится останавливать демона.

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

Подскажите пожалуйста как обойти данную проблему? Ведь очень много демонов работает от nobody:nobody и таких проблем нет.

P.S. Код пока не стал выкладывать, так как вопрос более теоретический. Если будет нужно - выложу.

Заранее спасибо!



py.user.next
Создай не файл, а файл в директории. На директорию можешь поставить права уже (группа владельцев ставится и пользователь в неё добавляется).
[guest@localhost ~]$ ll -d /var/run/postgresql/
drwxr-xr-x. 2 postgres postgres 40 авг 4 08:11 /var/run/postgresql/
[guest@localhost ~]$
[guest@localhost ~]$ ll -d /var/run/hplip/
drwxrwxr-x. 2 root lp 40 авг 4 08:11 /var/run/hplip/
[guest@localhost ~]$
Ramzes3
Спасибо за совет. Теперь работает как нужно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB