Хранение PID-файла для демона, работающего от имени пользователя
есть ли предпочтительное место для хранения pid-файла для демона, который запускается как пользователь? /var/run-стандартное место, но это для пользовательского демона, поэтому у него нет прав на запись. Предположительно, мой демон будет запущен .профиль или. bashrc или что-то. Просто сохранить его в /tmp-плохая идея?
3 ответов
если он запускается для пользователя, давайте посмотрим, какое хранилище существует для конкретного пользователя.
Хммм.
вот именно! Домашний каталог. Я знал, что это придет ко мне в конце концов: -)
извините за легкий тычок. Серьезно, я бы просто спрятал PID в $HOME/.daemon.pid
или ~/.daemon.pid
(Как вы называете файл, зависит от вас, конечно).
Это, конечно, предполагая, что у вас будет только один демон, работающий для пользователя. Если нет, вам нужно будь немного хитрее.
и, надеюсь, развеять ваши опасения, что пользователь случайно удалит неизвестные файлы в своем домашнем каталоге, поэтому вы делаете его "скрытым", запустив его с помощью .
символ.
большинство неопытных пользователей никогда не должны даже посмотреть эти и опытные пользователи должны знать лучше, чем возиться с ними.
на спецификация XDG Basedir определяет, где вы должны хранить эти.
Переменная $XDG_RUNTIME_DIR
определяет его местоположение, хотя оно не имеет значения по умолчанию.
Наиболее распространенным резервным вариантом (если переменная не задана) является /tmp/service-$USER.id
.
Это помогает сохранить незагроможденные homedirs, сохраняя при этом все данные времени выполнения в
Я предлагаю вам перейти к подкаталогу в домашнем каталоге пользователя.
~/.programname/.pid
Если есть какие-либо другие данные конфигурации пользователя, вы можете сохранить их здесь, чтобы избежать загромождения домашнего каталога.