php가 flock()을 사용하여 파일에 대한 배타적 잠금을 얻은 다음 pcntl_fork를 사용하여 두 프로세스로 분할하는 경우 두 프로세스 모두 동일한 독점 잠금을 가짐 - 즉 flock ($ fd , LOCK_EX)는 true를 반환합니다.PHP는 독점 잠금이 동일한 두 개의 프로세스를 어떻게 처리합니까?
그러나 flock을 사용하면 두 프로세스가 같은 파일에 동시에 쓰는 것을 방지 할 수 있습니다. 그러면 PHP가이 사건을 어떻게 처리합니까? 어떻게 든 배타적 인 잠금을 가진 두 프로세스가 충돌 할 수 있습니까? 한 프로세스가 다른 프로세스가 잠금을 해제했는지 여부를 감지 할 수있는 방법이 있습니까?
이것은 주로 학문적 인 호기심입니다. 나는 이것이 새로운 파일 핸들러를 만들거나 IPC를 사용하여 다른 프로세스에 알려주는 최후의 수단으로써 처리 될 수 있다는 것을 알고 있지만, 잠금의 중복을 탐지하기 위해 무리 시스템에 내장 된 방법이 있는지 궁금하다. 각 사람이 동일한 자원의 사본을 가지고 있기 때문에 잠금을해야합니다 모두 프로세스를 포크 할 때 있도록