История изменений
Исправление intelfx, (текущая версия) :
Открывай PID-файл в эксклюзивном режиме (O_CREAT|O_EXCL) и удаляй его до закрытия файлового дескриптора.
При этом, как правильно отметили, файл удалится _сразу_, поэтому делай это в самом конце завершения работы программы, когда все остальные ресурсы освобождены и умирающий инстанс никак не может помешать вновь запускаемому (если он запустится между удалением PID-файла и смертью старого инстанса, это тоже будет своего рода рейс).
Исправление intelfx, :
Открывай PID-файл в эксклюзивном режиме (O_CREAT|O_EXCL) и удаляй его до закрытия файлового дескриптора.
При этом, как правильно отметили, файл удалится _сразу_, поэтому делай это в самом конце завершения работы программы, когда все остальные ресурсы освобождены и умирающий инстанс никак не сможет помешать вновь запускаемому (если он запустится между удалением PID-файла и смертью старого инстанса, это тоже будет своего рода рейс).
Исправление intelfx, :
Открывай PID-файл в эксклюзивном режиме (O_CREAT|O_EXCL) и удаляй его до закрытия файлового дескриптора.
При этом, как правильно отметили, файл удалится _сразу_, поэтому делай это в самом конце завершения работы программы, когда все ресурсы освобождены и умирающий инстанс никак не сможет помешать вновь запускаемому (если он запустится между удалением PID-файла и смертью старого инстанса, это тоже будет своего рода рейс).
Исходная версия intelfx, :
Открывай PID-файл в эксклюзивном режиме (O_EXCL) и удаляй до закрытия файлового дескриптора.
При этом, как правильно отметили, файл удалится _сразу_, поэтому делай это в самом конце завершения работы программы, когда все ресурсы освобождены и умирающий инстанс никак не сможет помешать вновь запускаемому (если он запустится между удалением PID-файла и смертью старого инстанса, это тоже будет своего рода рейс).