다른 php cli 스크립트가 실행 중인지 PHP cli 스크립트가 감지 할 수있는 확실한 방법이 있습니까? 이 경우에 실행하면 명령 행에서 ps aux | grep scriptname.php
을 수행하면 자체적으로 행을 반환한다는 의미입니다.하나의 PHP CLI 스크립트가 다른 PHP CLI 스크립트가 실행 중인지 감지 할 수 있습니까?
이 명령은 또한 출력에 자체를 반환하는 경향이 있으므로 단지 exec('ps aux | grep scriptname.php',$output);
을 수행하면 위양성을 반환합니다.
또한 로그 항목을 만들지 만 일부 조건에서는 최대 5 분간 잠자기 상태가되므로 로그 항목을 검색하는 것이이 인스턴스에서 감지 할 수없는 원시적 인 방법입니다.
왜 잠금 파일을 사용하여 여러 번의 호출을 감지하지 않습니까? – Barmar
질문이나 근원적 인 문제를 해결할 지 결코 알 수 없습니다. 이 경우 필자는 대답에 대한 질문에 답변했지만 Barmar가 제안한 잠금 파일 사용 방법을 선호합니다. – leftclickben
@Barmar 잠금 파일이 잠재적으로 작동 할 수 있지만 다중 호출 문제는 아닙니다. 이 경우에는 leftclickben의 답변이 나에게 덜 효과적 일 수 있다고 생각합니다. :) – AntonChanning