What is the recommended approach to clean up these mutex/semiphore zombies if php crashes?
Модуль 'sync' вводит кроссплатформенные объекты синхронизации в PHP. Именованные и безымянные объекты Mutex, Semaphore, Event, Reader-Writer и именованная общая память обеспечивают синхронизацию на уровне ОС как на платформах POSIX (например, Linux), так и на платформах Windows.
Автоматическая очистка полученных объектов синхронизации происходит во время демонтажа модуля. Это означает, что если PHP преждевременно завершает выполнение скрипта (например, превышено время выполнения скрипта), объекты не останутся в неизвестном состоянии. Единственное исключение из этого - случай сбоя самого PHP (например, переполнение внутреннего буфера).
Безымянные объекты синхронизации не имеют большого применения вне многопоточного сценария. Безымянные объекты более полезны в сочетании с модулем pthreads PECL.
Замечание:
Именованные объекты требуют дополнительного ухода для использования во всех системах. Если объект создаётся с определённым набором параметров, он всегда должен создаваться с этими параметрами, иначе объект может оказаться в несовместимом состоянии до следующей перезагрузки или пока системный администратор не исправит беспорядок.
What is the recommended approach to clean up these mutex/semiphore zombies if php crashes?