Linux - nơi thay thế nơi lưu trữ tệp pid thay vì / var / run


21

Như được viết trong tiêu đề, tôi nên để tập lệnh init viết tập tin pid ở đâu? Có đường dẫn chuẩn nào tôi nên chọn thay vì / var / run không?

Có thể / tmp là một nơi tốt để lưu trữ nó hoặc có những hạn chế trong đó?


6
Có gì sai với / var / run?
bắt đầu

Câu hỏi về Stack Overflow này có liên quan: stackoverflow.com/q/5173636/1071869
Renan

Điều duy nhất sai với / var / run là tôi không có quyền truy cập ghi với người dùng của mình vào nó ..
Murko

2
@Murko sau đó bạn nên lưu trữ tệp pid trong thư mục chính của người dùng.
Renan

Câu trả lời:


22

Nói tóm lại : bạn có thể lưu trữ nó ở bất cứ đâu (giả sử, /tmphoặc /var/tmp), nhưng /var/runlà tiêu chuẩn ưa thích.

/var/runtiêu chuẩn phân cấp hệ thống tập tin :

Thư mục này chứa dữ liệu thông tin hệ thống mô tả hệ thống kể từ khi nó được khởi động. Các tập tin trong thư mục này phải được xóa (loại bỏ hoặc cắt bớt khi thích hợp) khi bắt đầu quá trình khởi động. Các chương trình có thể có thư mục con là / var / run; điều này được khuyến khích cho các chương trình sử dụng nhiều hơn một tệp thời gian chạy. [chú thích 37]

Và một tính năng mong muốn là hầu hết các bản phân phối sẽ tự động làm sạch nó (không giống như các bản phân phối không /tmpđược làm sạch khi khởi động trong một số bản phân phối) - điều này tránh các tệp pid cũ:

Vị trí bình thường cho pidfiles là / var / run. Hầu hết các thông báo sẽ làm sạch thư mục này khi khởi động; trong Ubuntu, điều này đạt được bằng cách / var / chạy một hệ thống tệp trong bộ nhớ (tmpfs).

Đó là lựa chọn của bạn nơi lưu trữ nó, nhưng tôi sẽ đi với tiêu chuẩn.

Nếu bạn không có quyền truy cập /var/run, bạn nên lưu trữ tệp pid trong thư mục chính của người dùng, vd ~/.my_app.pid.


9

Nếu đó không phải là quyền truy cập ghi gốc /var/runmà bạn cần, thì hãy lưu ý rằng có các thư mục con /var/run/userdành cho người dùng cá nhân. Bạn chỉ cần lấy UID của người dùng hiện tại:

/var/run/user/[$uid]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.