If the php process dies unexpectedly (on linux) the lock will remain with no option to remove it. unlock() will not work if the lock is being held by other process. SyncMutex uses shared mem. in that case you can delete the shared memory object in /dev/shm. To list the objects:ls /dev/shm/Sync_Mutex*Keep in mind that objects remain there even after unlocking. So if you use lots of random mutex names then the number of these objects will grow and and you might want to cleanup at some pointExample sync.php:<?php$s = new SyncMutex("mymutex");if(!$s->lock()){ echo "cannot lock\n"; exit;}echo "locked\n";sleep(10);$s->unlock();echo "unlocked\n";?>then run:php -f sync.phpand press ctrl-c. If you run it again it won't lock. So what you can do is:rm -f /dev/shm/Sync_Mutex-*-mymutexThen run it again - it'll lock again