Linux - alternatywne miejsca przechowywania pliku pid zamiast / var / run
21
Jak napisano w tytule, gdzie powinienem pozwolić skryptowi init zapisać plik pid? czy są jakieś standardowe ścieżki, które powinienem wybrać zamiast / var / run?
Czy / tmp może być dobrym miejscem do przechowywania lub mieć wady?
Ten katalog zawiera dane informacji o systemie opisujące system od momentu jego uruchomienia. Pliki w tym katalogu muszą zostać wyczyszczone (odpowiednio usunięte lub obcięte) na początku procesu rozruchu. Programy mogą mieć podkatalog / var / run; jest to zalecane w przypadku programów, które używają więcej niż jednego pliku wykonawczego. [przypis 37]
Pożądaną cechą jest to, że większość dystrybucji czyści go automatycznie (w przeciwieństwie do tego, /tmpktóre nie jest czyszczone podczas rozruchu w niektórych dystrybucjach) - pozwala to uniknąć przestarzałych plików pid:
Normalna lokalizacja plików pid to: / var / run. Większość jednorożców wyczyści ten katalog przy starcie; w Ubuntu jest to osiągane przez / var / run system plików w pamięci (tmpfs).
To twój wybór, gdzie go przechowywać, ale wybrałbym standard.
Jeśli nie masz dostępu /var/run, powinieneś zapisać plik pid w katalogu domowym użytkownika, np ~/.my_app.pid.
Jeśli /var/runpotrzebujesz dostępu innego niż root do zapisu , czego potrzebujesz, pamiętaj, że istnieją podkatalogi /var/run/userdla poszczególnych użytkowników. Musisz tylko uzyskać identyfikator UID bieżącego użytkownika:
Odpowiedzi:
W skrócie : możesz przechowywać go w dowolnym miejscu (powiedzmy
/tmp
lub/var/tmp
), ale/var/run
jest to preferowany standard./var/run
jest standardem hierarchii systemu plików :Pożądaną cechą jest to, że większość dystrybucji czyści go automatycznie (w przeciwieństwie do tego,
/tmp
które nie jest czyszczone podczas rozruchu w niektórych dystrybucjach) - pozwala to uniknąć przestarzałych plików pid:To twój wybór, gdzie go przechowywać, ale wybrałbym standard.
Jeśli nie masz dostępu
/var/run
, powinieneś zapisać plik pid w katalogu domowym użytkownika, np~/.my_app.pid
.źródło
Jeśli
/var/run
potrzebujesz dostępu innego niż root do zapisu , czego potrzebujesz, pamiętaj, że istnieją podkatalogi/var/run/user
dla poszczególnych użytkowników. Musisz tylko uzyskać identyfikator UID bieżącego użytkownika:/var/run/user/[$uid]
źródło