Câu hỏi của tôi liên quan đến this question, nhưng các quy trình được đề cập được chạy từ cron và bởi người dùng không phải root. Như vậy, nhiều người dùng không thực sự có dirs nhà (hoặc dirs nhà của họ trỏ đến /usr/share/package_name
mà không phải là một vị trí lý tưởng cho một tập tin PID).Vị trí ưa thích cho tệp PID của daemon hệ thống chạy như người dùng không phải là người chủ gốc
Lưu trữ trong /var/run
có vấn đề, vì thư mục này không thể ghi ngoại trừ gốc.
Tôi có thể sử dụng /tmp
, nhưng tôi tự hỏi liệu điều này có lý tưởng vì lý do bảo mật hay không.
Tôi có thể sắp xếp tập lệnh khởi động để tạo thư mục trong /var/run
được sở hữu bởi người dùng thích hợp (Tôi không thể thực hiện việc này tại thời điểm cài đặt gói, vì /var
thường được gắn là tmpfs, vì vậy không liên tục).
Thực tiễn tốt nhất ở đây là gì?
Tôi có một ý tưởng. Nếu bạn đang sử dụng/tmp, nhưng tìm kiếm một pidfile được gọi là 'yourdaemon.pid.UNIQUE_KEY' và được sở hữu bởi người dùng daemon? – hek2mgl
@ hek2mgl: 'UNIQUE_KEY' sẽ phải là ngẫu nhiên, nhưng có một số khả năng. Nó làm cho việc phát hiện tệp PID có chút khó chịu, vì daemon phải đọc tất cả các tệp trong '/ tmp/*' và so sánh với mẫu và quyền sở hữu dự kiến, nhưng có vẻ như nó phải an toàn. – Flimzy
@ hek2mgl: Nếu bạn muốn biến câu trả lời thành câu trả lời, tôi sẽ bỏ phiếu. Và tại thời điểm này, tôi muốn nói rằng nó dẫn đầu để được chấp nhận. – Flimzy