Slik unngår du at mer enn én forekomst av et program i Python

Det er mange grunner til å unngå å kjøre flere forekomster av et program, inkludert alvorlige konsekvenser som tap av data, ustabilitet og ressurskonflikt. Dette er et problem som blir løst på mange måter på mange plattformer og språk. I et Python-skript, kan du hindre at mer enn én forekomst ved hjelp av en låsefil.

Bruksanvisning

1 Åpne en ny fil i en tekst editor for å begynne din Python-skript. Type "import os" importere "os" modul.

2 Skriv "f = os.open ( 'lock.tmp', os.O_CREAT | os.O_EXCL | os.O_WRONLY)" for å åpne en fil med skaper og eksklusive flagg for å lage en låsefil. Den eksklusive og lage flagg sørge for at samtalen mislykkes hvis låsefil eksisterer. Svikten kan du vite at et annet program kjører. Hvis du ønsker å varsle brukeren om dette, eller ta andre tiltak, omgir åpen samtale med en prøve: unntatt: blokk og fange os.error unntak: "f = os.open ( 'lock.tmp', os.O_CREAT | os.O_EXCL | os.O_WRONLY) ".

3 Legg til "os.write (f, os.getpid ())" til å skrive noen data til låsefil. Det er vanlig å bruke prosessen ID.

4 Enter "os.close (f)" for å lukke låsefil.

5 Type "os.remove ( 'lock.tmp')" når programmet er ferdig å kjøre for å fjerne filen.