.pid 파일이란 무엇이며 무엇을 포함합니까?


199

나는 최근에 확장자가 .pid 인 파일을 발견하고 그 내부를 탐색했지만 많이 찾지 못했습니다. 설명서는 다음과 같이 말합니다.

Pid-File은 파일 시스템의 잘 정의 된 위치에 저장된 프로세스 식별 번호 (pid)를 포함하는 파일이므로 다른 프로그램이 실행중인 스크립트의 pid를 찾을 수 있습니다.

누구든지 이것에 대해 더 많이 밝히거나 pid 파일에 포함 된 내용에 대해 자세히 안내 할 수 있습니까?

답변:


210

pid 파일은 주어진 프로그램의 프로세스 ID (숫자)를 포함합니다. 예를 들어, Apache HTTPD는 기본 프로세스 번호를 pid 파일 (일반 텍스트 파일, 그 이상은 아님)에 기록하고 나중에 포함 된 정보를 사용하여 자체 중지 할 수 있습니다. 해당 정보를 사용하여 프로세스를 직접 종료 할 수도 있습니다.cat filename.pid | xargs kill


4
그렇다면 프로세스를 이름별로 찾아 보지 않겠습니까? "pidof $ process_name"을 실행하고 ID를 얻을 수 있는데 왜 .pid 파일을 유지해야 하는가?
Shnatsel 2016 년

14
@Shnatsel : 해당 이름을 가진 두 개의 프로세스가 실행 중일 수 있으며 해당 PID 파일 을 담당하는 프로세스를 알아야 합니다. 다른 이유도 있습니다. 자세한 내용은 여기를 참조하십시오 : unix.stackexchange.com/questions/12815/…
user4815162342

2
이 경우 2 개의 pid 파일이 있으며 PID 조회와 동일한 문제에 직면하고 있습니다. pidfile은이 시나리오와 내가 생각할 수있는 다른 시나리오뿐만 아니라 어떤 것도 좋지 않으며 복잡하지 않습니다. procfs 인터페이스가 Linux와 다르기 때문에 procfs 인터페이스가 다르기 때문에 procfs 이전에 나타 났거나 이식성 도구로 사용 된 것 같습니다.
Shnatsel

3
한가지 : echo filename.pid | xargs kill프로세스를 죽이지 않을 것 입니다. 나는 당신이 의미하는 것 같아요 : echo $(cat filename.pid) | xargs kill 또는 echo <process ID> | xargs kill.
Alexandro de Oliveira

2
@AlexandrodeOliveira 대신 echo와 cat을 사용하는 이점이 cat filename.pid | xargs kill있습니까?
Simon A. Eugster

-1

pid 파일을 이해하려면이 DOC를 참조하십시오.

때로는 추가 플러그인 및 유틸리티에 대한 추가 지원이 필요한 특정 응용 프로그램이 있습니다. 따라서이 pid 파일을 사용하여 ID를 실행하는 이러한 유틸리티 및 플러그인 프로세스를 추적합니다.

응용 프로그램을 다시 시작할 때마다 pid 파일이 오래되기 때문에 필요한 모든 플러그인과 종속 응용 프로그램을 다시 시작 해야하는 이유입니다.


8
첫 번째 링크는 실제로 질문에 대답하지 않습니다.
Brian

5
링크 된 물질은 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
Toby Speight
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.