2013-07-30 1 views
0

프로세스 ID가 .pid 파일에 저장되어 있습니다.pgrep은 PID 파일과 정확히 일치합니다.

pgrep 명령에서 해당 프로세스가 실행 중인지 여부를 확인하고 싶습니다. pgrep -xF file.pid 플래그를 사용해 보았지만 정규식 일치를 얻고 있습니다. (이는 내가 원하지 않는 것입니다).

정확히 일치하는 방법이 있습니까?

감사합니다.

답변

1

잘못하고 있습니다. kill -0을 사용하십시오.

+0

'kill -0 $ (cat file.pid)'는 프로세스가 실행 중인지 여부에 대한 적절한 종료 코드를 제공합니까? – n00b

+1

이 댓글을 쓰는 것은 실제로 그것을 확인하는 것보다 적은 에너지를 소비해야합니다. :) 종료 코드가 '0'이고 'kill : kill 1234 failed : 아니요'와 같은 메시지가없는 경우 - 프로세스가 작동 중입니다. –

3

현재 사용중인 OS를 지정하지 않았지만 Linux에서 kill -0의 대안은 /proc/<pid>이라는 디렉토리가 존재하는지 확인하는 것입니다. 데스크탑/노트북 배포판 (적어도 필자가 사용한 모든 것)에서 작동하지만, /proc 파일 시스템에 대한 지원이 커널에 포함되어 있지 않은 일부 임베디드 플랫폼에서는 작동하지 않을 수 있습니다.