Tôi có thể tìm thấy tài liệu được tôn trọng tốt chi tiết cách xử lý đúng các tệp PID trên Unix?Tham chiếu để xử lý đúng cách tệp PID trên Unix
Trên hệ điều hành Unix, thực tế phổ biến là “khóa” chương trình (thường là một daemon) bằng cách sử dụng tệp khóa đặc biệt: tệp PID.
Đây là tệp ở vị trí có thể dự đoán được, thường là ‘/var/run/foo.pid’. Chương trình được yêu cầu kiểm tra khi nó khởi động cho dù tệp PID tồn tại và, nếu tệp tồn tại, hãy thoát với một lỗi. Vì vậy, nó là một loại tư vấn, cơ chế khóa hợp tác.
Tệp có chứa một dòng văn bản duy nhất, là ID quá trình số (do đó có tên là "tệp PID") của quy trình hiện đang giữ khóa; điều này cho phép một cách dễ dàng để tự động gửi tín hiệu đến quá trình giữ khóa.
Điều tôi không thể tìm thấy là tham khảo tốt về hành vi được mong đợi hoặc "thực hành tốt nhất" để xử lý tệp PID. Có nhiều sắc thái khác nhau: làm thế nào để khóa tập tin (đừng bận tâm? Sử dụng hạt nhân? Điều gì về sự không tương thích của nền tảng?), Xử lý khóa cũ (âm thầm xóa chúng? Khi nào cần kiểm tra?), Khi chính xác lấy và nhả khóa , và kể từ đó trở đi.
Tôi có thể tìm thấy tài liệu tham khảo được tôn trọng, có thẩm quyền nhất (lý tưởng ở cấp độ nào của W. Richard Stevens) cho chủ đề nhỏ này?
$ XDG_RUNTIME_DIR là nơi bạn nên đặt tệp pid nếu chạy với tư cách người dùng có 1000+ uid. – Behrooz