잠재적으로 오랫동안 실행되는 스크립트가 있습니다. Linux의 경우. 실행 중일 때 동일하거나 다른 사용자가 두 번 호출 할 때이를 감지하고 실행을 거부해야합니다. 프로세스가 어떤 이유로 죽어도 정리 된 적합한 세마포를 만드는 방법을 찾으려고합니다.Perl 스크립트가 두 번 이상 병렬로 실행되는 것을 방지하는 방법
나는 How to prevent PHP script running more than once?을 물론 적용 할 수 있지만, 펄에서 더 잘 할 수 있는지 궁금합니다.
예를 들어 Perl은 프로세스 종료와 관계없이 트리거가 발생한다고 생각하는 "프로세스 종료시 임시 파일 생성 정리"플래그 (File :: Temp :: CLEANUP)를 가지고 있습니다. 그러나이 API는 임의의 이름을 가진 임시 파일을 생성하는 데만 사용할 수 있으므로 세마포어의 파일 이름으로 작동하지 않습니다. 파일이 제거되는 방식에 대한 기본 메커니즘을 이해하지 못하지만 메커니즘이 존재하는 것처럼 들립니다. 명명 된 파일 (예 :/var/run/foobar?
아니면 더 나은 방법이 있습니까?
다른 순서로 그 싶지 :
그럼 당신은 그것을 읽을 수있는 잠금 파일을 생성 . – sebnukem