Python脚本防止重复执行
Posted small-wei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python脚本防止重复执行相关的知识,希望对你有一定的参考价值。
# coding: utf-8 import os import sys import time import fcntl class Lock: def __init__(self, filename): self.filename = filename # This will create it if does not exist already self.handle = open(filename, ‘w‘) # Bitwise Or fcntl.LOCK_NB if you need a non-blocking lock def acquire(self): fcntl.flock(self.handle, fcntl.LOCK_EX | fcntl.LOCK_EX_NB) def __del__(self): self.handle.close() lock = Lock(os.path.join(‘/‘,‘tmp‘,os.path.basename(sys.argv[0]) + ‘_tmp‘)) try: lock.acquire() except: print "%s [ERROR] There is already another process running!" sys.exit(1)
以上是关于Python脚本防止重复执行的主要内容,如果未能解决你的问题,请参考以下文章
flock防止crontab脚本周期内未执行完重复执行(转)
Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题