Alle 13:02, martedì 29 agosto 2006, Marco ha scritto: > Mi servirebbe sapere se c'è qualcosa già nelle librerie di python per > sapere se lo script che sto lanciato è già in esecuzione. > Mi servirebbe impedire che un programma che gira ogni tot di tempo > entri in esecuzione più volte.
Io farei uso di un lockfile dato che utilizzo un sistema unix. Non ho idea se windows abbia un meccanismo apposito per questo stesso obiettivo. Il codice che segue non puo` essere eseguito sotto windows (il modulo fcntl e` disponibile solo per unix), ma forse con cygwin funziona. import fcntl import sys lockfile = "/tmp/namescript.lock" lock_fd = open(lockfile,"w") #Se non riesco ad acquisire il lock sul file esco con un messaggio #d'errore try: fcntl.flock(lock_fd , fcntl.LOCK_EX | fcntl.LOCK_NB) except IOError: sys.exit("Impossibile ottenere il lock su %s" % lockfile) # # Codice da eseguire # #Rilascio il lock fcntl.flock(lock_fd, fcntl.LOCK_UN) Spero sia d'aiuto. -- Eriol - *p = NULL; - EIBTI GPG Key ID 297BE0CA
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python