A pid-állományt, hogy az megakadályozza a parancsfájlt, perl, assembler, C - blog
Modulok használata Fájl :: PID Pid :: Fájl :: Flock és a File :: Flock :: Tiny. Lock fájlokat, a munka a pid-állományt. Bízza csak egy példányát a forgatókönyvet egy időben. Elleni védelem újraindítják az azonos forgatókönyv, mielőtt az első példányt végződik.
Tegyük fel, hogy van perl script-vevő adatok távoli szervereken. Vagy adatokat hordoz egy forrásból az adatbázis tábla. A szkript fut elég hosszú, fél óra vagy annál több - attól függően, hogy az adatmennyiség, a válasz sebessége a távoli szerverek és hasonlók Ez által működtetett cron, óránként.
Problémák elkerülése érdekében adatkétszerezésnél holtpontok az adatbázisban, stb az szükséges, hogy a forgatókönyv mindig fut csak egyszer.
Használhatja a pid-állományt. Bekapcsoláskor a script ellenőrzi pid-állományt. Ha a fájl nem áll rendelkezésre, akkor blokkolja azt, és tárolja azt a PID fájl, és csak ezután folytassa a végrehajtása alapvető műveleteket. Ha a fájl létezik, de az ahhoz való hozzáférés le van tiltva - a forgatókönyvet, azonnal kilép. Ha a pid-fájl nem létezik, a script létrehozza, blokkoló, megtartja pid, és folytassa érdemi munkát.
Annak érdekében, hogy ne újra feltalálni a kereket, megtalálható a cpan modulok pid-állományt. Egyszerű alkalmazások lesznek elég.
Fájl :: Flock :: Apró
Fájl :: Flock :: Apró - egy nagyon hasznos modul pid-állományt.
Szerelési fut gond nélkül.
Kísérletek, hogy rögzítse a megadott fájlt, és mentse el az aktuális folyamat azonosítóját. Ha a kísérlet nem sikerült - visszatér utalás a tárgy blokkolja - ha nem, akkor visszatér undef. Befejezése után a folyamat nem törlődik, de a zár kiold. Amikor újra végrehajtja a fájlt újra lesz zárva, a folyamat azonosítóját a fájl - frissítve.
Ez minden adatot töröl a zárolt fájlt, ha voltak, és tárolja azt a jelenlegi folyamat azonosítója.
Feloldja és bezárja a fájlt.
Módszer bezárja a fájlt leíró, de a zár a fájlt nem törli! Ezt fel lehet használni, ha generálja gyermek folyamatok zár még valami lesz szükség.
Azonban ez a módszer nem működik az összes operációs rendszer, így a neve hordozhatóság - jobb, ha nem használja.
Pid :: Fájl :: Flock
Példa A használat, pid4.pl:
Mielőtt ellenőrzi, hogy akkor megakadályozzák az újbóli fut egy script segítségével
Fájl :: Pid nem jött. Nem látom értelmét. Talán ez a modul nem lesz megfelelő idővel, el van írva (inkább), és van egy probléma az eltérő operációs rendszerek.
Eszembe jutott, hogy a Fájl :: Pid használt egyik rendszer találkoztam 3 évvel ezelőtt. Futtatásához mindig volt egy kis probléma. Vagy nem fut minden, vagy futtatni több példányban. Most már értem - miért. Én nem ajánlom.
hasznos linkek
Hozzászólás navigáció
Ha ez a folyamat valahol a közepén, a zár kiold?
Mindig van egy kapcsolat memcached és Redis, tettem egy jel van egy zár lejár. Ha a folyamat le, és nem távolítják el a zár, akkor meghal magától egy idő után.
Attól függ, melyik modult használják az ellenőrzést. Az is idézek példaként, nézd meg a zárat, és a folyamat elején a munkát. Ha a folyamat már ott van - a „lock” nem érvényes. Tény, hogy nem arra használják, hogy az operációs rendszer szintjén, amikor mentem szerkeszteni és pid-állományt az eljárás során az mc - I rendszer, és nem szólt egy szót :) Tehát, ha azt várod, hogy valaki rosszindulatú hozzáférést biztosít a pid -File, akkor végre kell hajtani egy ilyen rendszert, alaposan ellenőrizze.