Хранение pid-файла для демона, запускаемого от имени пользователя - PullRequest
12 голосов
/ 18 октября 2010

Есть ли предпочтительное место для хранения pid-файла для демона, который запускается от имени пользователя? / var / run - стандартное место, но это для демона пользователя, поэтому у него нет прав на запись в него. Предположительно, мой демон будет запущен из .profile или .bashrc или чего-то еще. Это просто сохранение в / tmp плохая идея?

Ответы [ 3 ]

9 голосов
/ 18 октября 2010

Если он запускается для пользователя, давайте посмотрим, какой тип хранилища существует для конкретного пользователя.

Хммм.

Вот и все!Домашний каталог.Я знал, что это придет ко мне в конце концов: -)


Извините за легкий удар.Серьезно, я просто вставил бы PID в $HOME/.daemon.pid или ~/.daemon.pid (как вы называете файл, конечно, на ваше усмотрение).

Это, конечно, при условии, что у вас будет работать только один демондля пользователя.Если нет, вам нужно быть немного хитрее.


И, надеюсь, развеять ваши опасения, что пользователь непреднамеренно удалит неизвестные файлы в своем домашнем каталоге, поэтому вы делаете его «скрытым», запускаяс . символом.

Большинство неопытных пользователей никогда не должны даже видеть , что эти и опытные пользователи должны знать лучше, чем с ними шутить.

8 голосов
/ 26 мая 2013

Спецификация XDG Basedir определяет, где вы должны хранить их.
Переменная $XDG_RUNTIME_DIR определяет ее местоположение, хотя она не имеет значения по умолчанию.
Наиболее распространенный запасной вариант (если переменная не установлена) - /tmp/service-$USER.id.

Это помогает хранить незагроможденные домашние каталоги, сохраняя все данные времени выполнения в

0 голосов
/ 18 октября 2010

Я предлагаю вам перейти в подкаталог в домашнем каталоге пользователя.

~/.programname/.pid

Если есть какие-либо другие данные конфигурации пользователя, вы также можете сохранить их здесь, чтобы не загромождать домашний каталог.

...