Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 23, 2018 06:59:56

MaratD
Зарегистрирован: 2016-01-25
Сообщения: 138
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка копии программы

Здравствуйте, уважаемые разработчики.
Помогите пожалуйста. Написал программу. Чтобы не запускали больше одного сеанса этой программы, сделал проверку на возможность переименовать текстовый файл. Если переименовывается, то открываю этот файл и запускаю программу. Такое решение нашел в интернете. Оно работает, но не всегда. Иногда, например, когда компьютер еще загружается, пользователи могут запустить два сеанса. То есть не успевает отрабатывать, не знаю почему.
Есть более быстрое и надежное решение проверки запуска второго сеанса программы? Почитал про psutil. Это будет более правильным решением? Или есть другой зарекомендовавший себя способ? Пожалуйста поделитесь опытом.
Спасибо.

Офлайн

#2 Янв. 23, 2018 07:09:49

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

проверка копии программы

MaratD
Или есть другой зарекомендовавший себя способ?

Конечно! Стандартная практика - применение Lock-файлов. В питоне есть для этого богатый набор инструментов, например этот



Офлайн

#3 Янв. 23, 2018 08:14:21

MaratD
Зарегистрирован: 2016-01-25
Сообщения: 138
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка копии программы

Извиняюсь, может глупый вопрос. Технология Lock-файлов тоже работают с файлами? Если да, то суть одна. Соответственно возможна нестабильная отработка. Какая тогда разница между решением в моей программе и Lock-файлами?

Офлайн

#4 Янв. 23, 2018 08:25:54

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

проверка копии программы

MaratD
Извиняюсь, может глупый вопрос. Технология Lock-файлов тоже работают с файлами? Если да, то суть одна. Соответственно возможна нестабильная отработка. Какая тогда разница между решением в моей программе и Lock-файлами?

Разница в том, что библиотеку писали люди наверняка опытнее вас, которые могли учесть нюансы, о которых вы не имеете представления



Офлайн

#5 Янв. 23, 2018 08:35:03

MaratD
Зарегистрирован: 2016-01-25
Сообщения: 138
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка копии программы

Ссылку, которую вы дали. Там несколько примеров. Какой из них использовать? И для какой версии питона и операционки. Если питон 3.4 и Windows, подойдет?
Еще вопрос по Lock-файлам. Если программа при сбое закроется, lock файл останется?

Офлайн

#6 Янв. 23, 2018 09:27:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

проверка копии программы

MaratD
Еще вопрос по Lock-файлам. Если программа при сбое закроется, lock файл останется?
Лок-файл, что логично, создается в /tmp, соответственно после перезагрузки ПК он стирается (вот вам один из вышеозначенных нюансов)
Там несколько примеров. Какой из них использовать?
Примеры, они на то и примеры, их пишут не для того, чтобы их не думая использовали, а для того, чтобы продемонстрировать один из вариантов применения. Там вообще дофига всего, читайте доку, изучайте, в конце то концов, это же вам надо, а не мне. Я не знаю как вам надо наладить вашу работу и вообще только ради вашего вопроса нагуглил этот пакет.



Офлайн

#7 Янв. 23, 2018 10:10:29

MaratD
Зарегистрирован: 2016-01-25
Сообщения: 138
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка копии программы

Спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version