Архив метки: одна копия скрипта

AttributeError: ‘module’ object has no attribute ‘SingleInstance’

Всегда ранее проверял запуск «один ли экземпляр скрипта запущен» на python вот так:

    import tendo
    try:
     me = tendo.SingleInstance() 
    except:
	exit(1)
    func.putlog("--Ок. Одна копия, работаем дальше");

Однако после обновления ОС, стало выдавать ошибку вида:

Traceback (most recent call last):
  File "./olt_levels_get.py", line 27, in <module>
    me = tnd.SingleInstance() 
AttributeError: 'module' object has no attribute 'SingleInstance'

Исправляется так:

from tendo import singleton

try:
 me = singleton.SingleInstance() 
except:
    func.putlog("--мы уже запущены!");    
    exit(1)
func.putlog("--Ок. Одна копия, работаем дальше");

Еще один вариант запрета запуска второй копии скрипта

Например можно и так:

pgrep -f iptv_noblock_list || /home/pavel/ip_tv_noblock/iptv_noblock_list.py

Смотрим, если такой скрипт уже висит в запущеных процессах, то выводим его pid, иначе — запускаем скрипт