У меня запускается некий кроссплатформенный скрипт, который не должен выполняться более чем в одном экземпляре одновременно - при попытке повторного запуска он должен просто сразу выйти, и не должен ждать, пока завершится предыдущий процесс, и не должен начинать работу после его завершения. Можно создавать в начале программы LOCK-файл (O_CREAT|O_EXCL), а в конце удалять, но тогда при RESET'е LOCK-файл останется и не даст запуститься программе заново. Есть какие-нибудь надежные решения?