Ito ang command na may-lock-ex na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
with-lock-ex - locker ng file
SINOPSIS
may-lock-ex -w|-q|-f lockfile utos mga pagtatalo ...
DESCRIPTION
bubuksan at i-lock ng with-lock-ex ang lockfile para sa pagsusulat at pagkatapos ay ipapakain ang natitira sa
ang mga argumento nito sa exec(2); kapag natapos ang prosesong iyon ang fd ay isasara at ang file
awtomatikong na-unlock ng kernel.
Kung ang file ay hindi umiiral ito ay nilikha, na may mga pahintulot rw para sa bawat klase ng gumagamit para sa
na mayroon ang umask w.
Opsyon
-w Hintaying maging available ang lock.
-f Nabigo (pag-print ng mensahe sa stderr at paglabas sa 255) kung hindi makuha ang lock
kaagad dahil ibang proseso ang mayroon nito.
-q Tahimik na walang ginagawa (ibig sabihin, lumabas sa 0 sa halip na isagawa ang tinukoy na proseso) kung ang
Hindi agad makukuha ang lock dahil mayroon itong ibang proseso.
STALE MGA LUPA
Ang locking protocol na ginamit ay hindi dumaranas ng mga stale lock. Kung hindi pwede ang lock
nakuha, isa o higit pang tumatakbong mga proseso ang dapat na kasalukuyang humawak sa lock; kung kailangan ng lock
mapalaya ang mga prosesong iyon ay dapat patayin.
Sa anumang pagkakataon ay hindi dapat isagawa ang `stale lock cleaner' cron jobs, o katulad nito.
Sa mga system kung saan maaaring umiral ang napakaraming lock, maaaring alisin ang mga lumang lockfile sa cron ngunit
lamang kung ang bawat lock ay nakuha bago maalis ang lockfile, halimbawa sa
may-lock-ex -q lockfile rm lockfile
MGA DEADLOCK
Walang deadlock detection. Sa isang system na may ilang mga kandado, ang isang hierarchy ng lock ay dapat
maitatag, na para sa bawat pares ng mga kandado A at B na maaaring i-lock ng isang proseso
sabay-sabay, alinman A>B or B>A kung saan ang ugnayan > ay transitive at noncyclic.
Pagkatapos, para sa anumang dalawang kandado X at Y sa X>Y bawal kumuha X habang hawak Y.
Sa halip, kumuha X una, o bitawan Y bago (muling) makuha X at Y sa ayos na iyon.
(May mga mas kumplikadong paraan ng pag-iwas sa mga deadlock, ngunit ang hierarchy ng lock ay simple
maunawaan at ipatupad. Kung hindi ito nakakatugon sa iyong mga pangangailangan, sumangguni sa literatura.)
NAKALOKO PROTOKOL
Ang locking protocol na ginagamit ng may-lock-ex ay ang mga sumusunod:
Ang lock ay hawak ng isang proseso (o grupo ng mga proseso) na mayroong fcntl na eksklusibong lock
sa unang byte ng plain file na may tinukoy na pangalan. Isang may hawak ng lock
(at ang may hawak lamang ng lock) ay maaaring tanggalin ang file o baguhin ang inode kung saan ang pangalan
tumutukoy, at sa sandaling gawin nito ito ay tumigil sa paghawak sa lock.
Ang anumang proseso ay maaaring lumikha ng file kung wala ito. Hindi na kailangan para sa file
naglalaman ng anumang aktwal na data. Sa katunayan, ang aktwal na paggamit ng file para sa pag-iimbak ng data ay malakas
hindi inirerekomenda, dahil aalisin nito ang karamihan sa mga diskarte para sa maaasahang pag-update. Gumamit ng a
hiwalay na lockfile sa halip.
Ang kakayahang makuha ang lock ay tumutugma sa pahintulot sa pagsulat sa file (at siyempre
pahintulot na lumikha ng file, kung hindi pa ito umiiral). Gayunpaman, ang mga proseso na may
basahin lamang ang pahintulot sa file ay maaaring maiwasan ang lock na nakuha sa lahat; samakatuwid
Ang mga lockfile ay hindi dapat karaniwang nababasa sa mundo.
Kapag ang isang (pangkat ng) mga proseso ay gustong makuha ang lock, dapat nitong buksan ang file (na may
O_CREAT) at i-lock ito ng fcntl(2) F_RWLCK, operasyon F_SETLK or F_SETLKW. Kung ito
magtagumpay dapat itong i-fstat ang file descriptor na mayroon ito, at ang file sa pamamagitan ng landas nito. Kung ang
magkatugma ang device at inode pagkatapos ay nakuha na ang lock at nananatiling nakuha hanggang doon
pangkat ng mga proseso ay nagbabago kung aling file ang tinutukoy ng pangalan, tinatanggal ang file, o inilabas
ang fcntl lock. Kung hindi nila gagawin pagkatapos ay nakuha ng isa pang proseso ang lock at tinanggal ang
file sa pansamantala; dapat mo na ngayong isara ang iyong filedescriptor at magsimulang muli. may-lock-
ex sumusunod sa pagtutukoy na ito.
Tandaan na ang kawan(2) ay ibang uri ng lock sa fcntlNa (2). may-lock-ex Gumagamit fcntl.
Gumamit ng with-lock-ex online gamit ang mga serbisyo ng onworks.net