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)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

30 段 Python 实用代码

使用 Flask 执行 python 脚本 [重复]