Подтвердить что ты не робот

Хранение файла pid для запуска демона как пользователя

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

4b9b3361

Ответ 1

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

Хммм.

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


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

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


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

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

Ответ 2

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

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

Ответ 3

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

~/.programname/.pid

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