Мне нужно предотвратить повторный запуск сценария Python. На данный момент у меня есть:
Код: Выделить всё
import fcntl
def lockFile(lockfile):
fp = open(lockfile, 'w')
try:
fcntl.flock(fp, fcntl.LOCK_EX | fcntl.LOCK_NB)
except IOError:
return False
return True
if not lockFile("myfile.lock"):
sys.exit(0)
Проблема в том, что sys.exit() никогда не вызывается, даже если файл существует. Может быть, это зависит от платформы? Мне просто нужно написать файл блокировки, проверить его существование и, если его нет или он устарел, создать новый. Идеи?
Подробнее здесь:
https://stackoverflow.com/questions/504 ... ning-twice