Page 1 of 1

Ich muss verhindern, dass ein Python-Skript zweimal ausgeführt wird

Posted: 23 Dec 2024, 12:10
by Anonymous
Ich muss verhindern, dass ein Python-Skript mehr als einmal ausgeführt wird. Bisher habe ich:
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)

Das Problem ist, dass sys.exit() nie aufgerufen wird, selbst wenn die Datei vorhanden ist. Vielleicht ist dies eine plattformabhängige Vorgehensweise? Ich muss nur eine Sperrdatei schreiben, prüfen, ob sie existiert, und wenn sie nicht vorhanden oder veraltet ist, eine neue erstellen. Ideen?