Как написано в заголовке, где я должен позволить скрипту инициализации написать файл pid? Есть ли какие-нибудь стандартные пути, которые я должен выбрать вместо / var / run?
Может ли / tmp быть хорошим местом для хранения или в этом есть недостатки?
Ответы:
Короче говоря : вы можете хранить его где угодно (скажем,
/tmp
или/var/tmp
), но/var/run
это предпочтительный стандарт./var/run
такое стандарт иерархии файловой системы :И желательной особенностью является то, что большинство дистрибутивов очищают его автоматически (в отличие от того,
/tmp
который не очищается при загрузке в некоторых дистрибутивах) - это позволяет избежать устаревших pid-файлов:Это ваш выбор, где хранить его, но я бы пошел со стандартом.
Если у вас нет доступа к
/var/run
, вы должны хранить PID - файл в домашнем каталоге пользователя, например~/.my_app.pid
.источник
Если
/var/run
вам нужен не-root доступ для записи , обратите внимание, что/var/run/user
для отдельных пользователей есть подкаталоги . Вам просто нужно получить UID текущего пользователя:/var/run/user/[$uid]
источник