Linux-/ var / run 대신 pid 파일을 저장할 대체 위치


21

제목에 쓰여진 것처럼 init 스크립트가 pid 파일을 어디에 쓰도록해야합니까? / var / run 대신 선택해야 할 표준 경로가 있습니까?

/ tmp가 그것을 저장하기에 좋은 장소 일 수 있습니까? 그렇지 않은가?


6
/ var / run의 문제점은 무엇입니까?
16:27에

이 스택 오버플로 질문은 관련이 있습니다 : stackoverflow.com/q/5173636/1071869
Renan

/ var / run의 유일한 잘못된 점은 사용자와의 쓰기 권한이 없다는 것입니다.
Murko

2
그런 다음 @Murko는 pid 파일을 사용자의 홈 디렉토리에 저장해야합니다.
Renan

답변:


22

한마디로 : 당신은 어디에 (예를 들어, /tmp또는 /var/tmp) 저장할 수 있지만 /var/run선호하는 표준입니다.

/var/run는 IS 파일 시스템 계층 구조 표준 :

이 디렉토리에는 시스템 부팅 이후 시스템을 설명하는 시스템 정보 데이터가 들어 있습니다. 이 디렉토리 아래의 파일은 부트 프로세스 시작시 지워야합니다 (적절한 경우 제거 또는 잘림). 프로그램에는 / var / run의 하위 디렉토리가있을 수 있습니다. 이것은 둘 이상의 런타임 파일을 사용하는 프로그램에 권장됩니다. [각주 37]

바람직한 특징은 대부분의 배포판 이 자동으로 청소하는 것입니다 ( /tmp일부 배포판에서 부팅시 청소되지 않는 것과 달리 )-오래된 pid 파일을 피하십시오.

pidfile의 일반적인 위치는 / var / run입니다. 대부분의 유니스는 부팅시이 디렉토리를 정리합니다. Ubuntu에서는 메모리 내 파일 시스템 (tmpfs)을 / var / run으로 실행합니다.

어디에 보관할 것인지 선택하지만 표준에 따라 갈 것입니다.

에 액세스 할 수 없으면 /var/runpid 파일을 사용자의 홈 디렉토리 (예 :)에 저장해야합니다 ~/.my_app.pid.


9

루트 권한이 아닌 쓰기 액세스 권한 /var/run이 필요한 경우 /var/run/user개별 사용자 를 위한 하위 디렉토리 가 있습니다. 현재 사용자의 UID를 가져와야합니다.

/var/run/user/[$uid]

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.