Форум сайта python.su
Здравствуйте, уважаемые разработчики.
Помогите пожалуйста. Написал программу. Чтобы не запускали больше одного сеанса этой программы, сделал проверку на возможность переименовать текстовый файл. Если переименовывается, то открываю этот файл и запускаю программу. Такое решение нашел в интернете. Оно работает, но не всегда. Иногда, например, когда компьютер еще загружается, пользователи могут запустить два сеанса. То есть не успевает отрабатывать, не знаю почему.
Есть более быстрое и надежное решение проверки запуска второго сеанса программы? Почитал про psutil. Это будет более правильным решением? Или есть другой зарекомендовавший себя способ? Пожалуйста поделитесь опытом.
Спасибо.
Офлайн
MaratD
Или есть другой зарекомендовавший себя способ?
Офлайн
Извиняюсь, может глупый вопрос. Технология Lock-файлов тоже работают с файлами? Если да, то суть одна. Соответственно возможна нестабильная отработка. Какая тогда разница между решением в моей программе и Lock-файлами?
Офлайн
MaratD
Извиняюсь, может глупый вопрос. Технология Lock-файлов тоже работают с файлами? Если да, то суть одна. Соответственно возможна нестабильная отработка. Какая тогда разница между решением в моей программе и Lock-файлами?
Офлайн
Ссылку, которую вы дали. Там несколько примеров. Какой из них использовать? И для какой версии питона и операционки. Если питон 3.4 и Windows, подойдет?
Еще вопрос по Lock-файлам. Если программа при сбое закроется, lock файл останется?
Офлайн
MaratDЛок-файл, что логично, создается в /tmp, соответственно после перезагрузки ПК он стирается (вот вам один из вышеозначенных нюансов)
Еще вопрос по Lock-файлам. Если программа при сбое закроется, lock файл останется?
Там несколько примеров. Какой из них использовать?Примеры, они на то и примеры, их пишут не для того, чтобы их не думая использовали, а для того, чтобы продемонстрировать один из вариантов применения. Там вообще дофига всего, читайте доку, изучайте, в конце то концов, это же вам надо, а не мне. Я не знаю как вам надо наладить вашу работу и вообще только ради вашего вопроса нагуглил этот пакет.
Офлайн
Спасибо!
Офлайн