Спецификация XDG Base Directory - очень интересная спецификация для пользовательских каталогов. Он также предоставляет хорошие значения по умолчанию, за исключением XDG_RUNTIME_DIR
.
Сейчас я пишу программное обеспечение, которое должно создавать именованные каналы. Это клиент-серверная среда для каждого пользователя (есть FIFO для сервера и FIFO для каждого клиента).
Если XDG_RUNTIME_DIR
это не определено, я в настоящее время использую подкаталог для каждого пользователя в /tmp
- но он не обеспечивает все указанные условия (а именно, абзац, начинающийся с «Время жизни каталога ДОЛЖНО быть связано с пользователем, вошедшим в систему…» )
Это /tmp/myserver-$USER
достаточно хорошо?
редактировать
Я видел в другом месте несколько предложений:
.
совершенно неудовлетворительно (хотя бы потому, что это не абсолютный путь).- Я также видел
/var/run/user/$USER
- неплохо, но этот каталог не существует (по крайней мере, на моем компьютере, на котором выполняется тестирование Debian )
SystemD делает
/run/user/$USER
своего рода обязательным.http://www.freedesktop.org/software/systemd/man/file-hierarchy.html
источник
Создайте каталог /tmp/service-$USER.id с уникальным идентификатором. Например, в оболочке:
источник