RHEL7 / CentOS7 имеет специальную папку: $ XDG_RUNTIME_DIR (например, / run / user / 1000) для файлов pid, эта папка - tmpfs. Однако RHEL6 / CentOS6 не имеет $ XDG_RUNTIME_DIR.
RHEL6 (также RHEL7) имеет папку аналогичного типа: / dev / shm. После некоторого тестирования и поиска в Интернете я понял, что это удобное место для целей IPC, и также, кажется, нормально помещать в него небольшие файлы pid.
Итак, вопрос: есть ли недостатки использования этой папки для файлов pid.
(Пример неиспользования другой папки, такой как / tmp: есть задание crontab, которое удаляет файлы pid каждые определенные дни, что приводит к нестабильной работе службы)
Ссылка:
https://www.cyberciti.biz/tips/what-is-devshm-and-its-practical-usage.html https://wiki.archlinux.org/index.php/tmpfs
Вы можете использовать эту область для размещения файлов pid, никаких недостатков. Фактически вы можете размещать файлы pid везде, где у вашего приложения есть доступ для записи. По соглашению файлы pid размещаются в определенных местах, чтобы их было легко найти и не загрязнять все вокруг. Кроме того, помещая файлы в tmpfs, вы можете быть уверены, что после перезагрузки системы не останется старых pid-файлов.
В RHEL 6 файлы PID почти всегда находятся в /var/run
или его подкаталог. Этот каталог очищается только во время загрузки. В RHEL 7 этот каталог теперь /run
и /var/run
символически привязан к нему для обратной совместимости.
Указанный вами каталог, $ XDG_RUNTIME_DIR, используется пользователь процессы, а не система Сервисы.
Вы действительно не должны злоупотреблять /dev/shm
хотя для этого. Этот каталог существует для процессов, которые общаться через общую память для обеспечения резервного магазина.