ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

with-lock-ex - ອອນລາຍໃນຄລາວ

ແລ່ນດ້ວຍລັອກ-ex ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງທີ່ມີ-lock-ex ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


with-lock-ex - locker ໄຟລ໌

ສະຫຼຸບສັງລວມ


with-lock-ex -w|-q|-f lockfile ຄໍາສັ່ງ ໂຕ້ຖຽງ ...

ລາຍລະອຽດ


with-lock-ex ຈະເປີດແລະລັອກ lockfile ສໍາລັບການຂຽນແລະຫຼັງຈາກນັ້ນໃຫ້ອາຫານສ່ວນທີ່ເຫຼືອຂອງ
ການໂຕ້ຖຽງຂອງຕົນເພື່ອ exec(2); ເມື່ອຂະບວນການນັ້ນຢຸດ fd ຈະຖືກປິດແລະໄຟລ໌
ປົດລັອກອັດຕະໂນມັດໂດຍ kernel.

ຖ້າໄຟລ໌ບໍ່ມີ, ມັນຖືກສ້າງຂຶ້ນ, ດ້ວຍການອະນຸຍາດ rw ສໍາລັບແຕ່ລະຊັ້ນຜູ້ໃຊ້ສໍາລັບ
ທີ່ umask ມີ w.

OPTIONS


-w ລໍຖ້າໃຫ້ລັອກສາມາດໃຊ້ໄດ້.

-f ລົ້ມເຫລວ (ພິມຂໍ້ຄວາມໄປຫາ stderr ແລະອອກ 255) ຖ້າລັອກບໍ່ສາມາດໄດ້ຮັບ
ທັນທີເພາະວ່າຂະບວນການອື່ນມີມັນ.

-q Silently do nothing (ie, exit 0 ແທນ​ທີ່​ຈະ​ປະ​ຕິ​ບັດ​ຂະ​ບວນ​ການ​ທີ່​ກໍາ​ນົດ​ໄວ້​) ຖ້າ​ຫາກ​ວ່າ​
lock ບໍ່ສາມາດໄດ້ຮັບທັນທີເພາະວ່າຂະບວນການອື່ນມີມັນ.

ດາວ ລັອກ


ໂປໂຕຄອນລັອກທີ່ໃຊ້ບໍ່ໄດ້ທົນທຸກຈາກການລັອກ stale. ຖ້າບໍ່ສາມາດລັອກໄດ້
ທີ່ໄດ້ມາ, ຂະບວນການແລ່ນຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນຕ້ອງຖືລັອກ; ຖ້າ​ຫາກ​ວ່າ lock ໄດ້​
ໄດ້ຮັບການປົດປ່ອຍຂະບວນການເຫຼົ່ານັ້ນຄວນຈະຖືກຂ້າຕາຍ.

ພາຍໃຕ້ສະຖານະການທີ່ບໍ່ມີຄວນຈະມີ 'stale lock cleaner' ວຽກ cron, ຫຼືຄ້າຍຄືກັນ, ໄດ້ຮັບການສ້າງຕັ້ງຂຶ້ນ.
ໃນລະບົບທີ່ມີ locks ຫຼາຍອັນຍິ່ງໃຫຍ່, lockfiles ເກົ່າອາດຈະຖືກໂຍກຍ້າຍອອກຈາກ cron ແຕ່
ພຽງ​ແຕ່​ຖ້າ​ຫາກ​ວ່າ lock ໄດ້​ມາ​ແຕ່​ລະ​ຄົນ​ກ່ອນ​ທີ່​ຈະ lockfile ໄດ້​ຖືກ​ໂຍກ​ຍ້າຍ​ອອກ​, ສໍາ​ລັບ​ການ​ຍົກ​ຕົວ​ຢ່າງ​

with-lock-ex -q lockfile rm lockfile

DEADLOCKS


ບໍ່ມີການກວດພົບການລັອກ. ໃນລະບົບທີ່ມີ locks ຫຼາຍ, ລໍາດັບຊັ້ນລັອກຄວນ
ໄດ້ຮັບການສ້າງຕັ້ງຂຶ້ນ, ເຊັ່ນວ່າສໍາລັບຄູ່ຂອງ locks ທຸກ A ແລະ B ເຊິ່ງຂະບວນການອາດຈະລັອກ
ພ້ອມໆກັນ, ບໍ່ວ່າຈະ A>B or B>A ບ່ອນທີ່ຄວາມສຳພັນ > ແມ່ນ transitive ແລະ noncyclic.

ຫຼັງຈາກນັ້ນ, ສໍາລັບສອງ locks ໃດ X ແລະ Y ກັບ X>Y ມັນໄດ້ຖືກຫ້າມບໍ່ໃຫ້ໄດ້ມາ X ໃນຂະນະທີ່ຖື Y.
ແທນທີ່ຈະ, ໄດ້ມາ X ທໍາອິດ, ຫຼືປ່ອຍ Y ກ່ອນ (re)ໄດ້ມາ X ແລະ Y ໃນຄໍາສັ່ງທີ່.

(ມີ​ວິ​ທີ​ການ​ທີ່​ສັບ​ສົນ​ຫຼາຍ​ກວ່າ​ທີ່​ຈະ​ຫຼີກ​ເວັ້ນ​ການ deadlocks​, ແຕ່​ລໍາ​ດັບ​ການ​ລັອກ​ແມ່ນ​ງ່າຍ​ດາຍ​ເພື່ອ​
ເຂົ້າໃຈແລະປະຕິບັດ. ຖ້າມັນບໍ່ກົງກັບຄວາມຕ້ອງການຂອງເຈົ້າ, ໃຫ້ປຶກສາວັນນະຄະດີ.

ກຳ ລັງລັອກ ໂປຣແກຣມ PROTOCOL


ໂປໂຕຄອນລັອກທີ່ໃຊ້ໂດຍ with-lock-ex ແມ່ນດັ່ງຕໍ່ໄປນີ້:

lock ແມ່ນຖືໂດຍຂະບວນການ (ຫຼືກຸ່ມຂະບວນການ) ເຊິ່ງຖືເປັນ lock exclusive fcntl
ໃນ byte ທໍາອິດຂອງໄຟລ໌ທໍາມະດາທີ່ມີຊື່ທີ່ກໍານົດໄວ້. ຜູ້ຖື lock ໄດ້
(ແລະມີພຽງແຕ່ຜູ້ຖືລັອກ) ອາດຈະລຶບໄຟລ໌ຫຼືປ່ຽນ inode ທີ່ຊື່
ອ້າງເຖິງ, ແລະທັນທີທີ່ມັນເຮັດ, ມັນຢຸດເຊົາການຖື lock ໄດ້.

ຂະບວນການໃດກໍ່ຕາມອາດຈະສ້າງໄຟລ໌ຖ້າມັນບໍ່ມີ. ບໍ່ຈໍາເປັນຕ້ອງມີໄຟລ໌ທີ່ຈະ
ມີຂໍ້ມູນຕົວຈິງໃດໆ. ແທ້ຈິງແລ້ວ, ການນໍາໃຊ້ໄຟລ໌ສໍາລັບການເກັບຮັກສາຂໍ້ມູນແມ່ນແຂງແຮງ
ບໍ່ແນະນໍາ, ເພາະວ່ານີ້ຈະປິດກົນລະຍຸດສ່ວນໃຫຍ່ສໍາລັບການອັບເດດທີ່ເຊື່ອຖືໄດ້. ໃຊ້ ກ
lockfile ແຍກຕ່າງຫາກແທນ.

ຄວາມ​ສາ​ມາດ​ທີ່​ຈະ​ໄດ້​ຮັບ lock ໄດ້​ສອດ​ຄ່ອງ​ກັບ​ການ​ອະ​ນຸ​ຍາດ​ຂຽນ​ກ່ຽວ​ກັບ​ໄຟລ​໌ (ແລະ​ແນ່​ນອນ​
ການ​ອະ​ນຸ​ຍາດ​ໃຫ້​ສ້າງ​ໄຟລ​໌​, ຖ້າ​ຫາກ​ວ່າ​ມັນ​ບໍ່​ມີ​ຢູ່​ແລ້ວ​)​. ຢ່າງໃດກໍຕາມ, ຂະບວນການທີ່ມີ
ພຽງ​ແຕ່​ການ​ອະ​ນຸ​ຍາດ​ອ່ານ​ໃນ​ໄຟລ​໌​ສາ​ມາດ​ປ້ອງ​ກັນ​ການ lock ໄດ້​ມາ​ທັງ​ຫມົດ​; ດັ່ງນັ້ນ
ປົກກະຕິແລ້ວ lockfiles ບໍ່ຄວນເປັນໂລກທີ່ສາມາດອ່ານໄດ້.

ໃນເວລາທີ່ (ກຸ່ມຂອງ) ຂະບວນການຕ້ອງການທີ່ຈະໄດ້ຮັບ lock ໄດ້, ມັນຄວນຈະເປີດໄຟລ໌ (ມີ
O_CREAT) ແລະ​ລັອກ​ມັນ​ດ້ວຍ​ fcntl(2​) F_RWLCK, ການດໍາເນີນງານ F_SETLK or F_SETLKW. ຖ້ານີ້
ສໍາເລັດມັນຄວນຈະ fstat ຕົວອະທິບາຍໄຟລ໌ທີ່ມັນມີ, ແລະໄຟລ໌ໂດຍເສັ້ນທາງຂອງມັນ. ຖ້າ
ອຸປະກອນແລະ inode ກົງກັນຫຼັງຈາກນັ້ນ lock ໄດ້ມາແລະຍັງຄົງໄດ້ມາຈົນກ່ວານັ້ນ
ກຸ່ມຂະບວນການປ່ຽນຊື່ໄຟລ໌ທີ່ອ້າງອີງເຖິງ, ລຶບໄຟລ໌, ຫຼືປ່ອຍ
ລັອກ fcntl. ຖ້າ​ຫາກ​ວ່າ​ເຂົາ​ເຈົ້າ​ເຮັດ​ບໍ່​ໄດ້​ຫຼັງ​ຈາກ​ນັ້ນ​ຂະ​ບວນ​ການ​ອື່ນ​ໄດ້​ຮັບ​ການ lock ແລະ​ລົບ​ໄດ້​
ໄຟລ໌ໃນເວລານີ້; ດຽວນີ້ເຈົ້າຕ້ອງປິດຕົວອະທິບາຍໄຟລ໌ຂອງເຈົ້າ ແລະເລີ່ມໃໝ່ອີກຄັ້ງ. ມີລັອກ-
ex ປະຕິບັດຕາມຂໍ້ກໍານົດນີ້.

ໃຫ້ສັງເກດວ່າ flock(2) ເປັນປະເພດທີ່ແຕກຕ່າງກັນຂອງ lock ກັບ fcntl(2). with-lock-ex ການນໍາໃຊ້ fcntl.

ໃຊ້ກັບ-lock-ex ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo ເປັນຕົວແປງສັນຍານຮູບພາບ JPEG
    ທີ່ໃຊ້ຄໍາແນະນໍາ SIMD (MMX, SSE2,
    NEON, AltiVec) ເພື່ອເລັ່ງພື້ນຖານ
    ເປີດການບີບອັດ JPEG ແລະ decompression
    x86,x8...
    ດາວໂຫລດ libjpeg-turbo
  • 2
    ຜູ້ຈັດການດາວໂຫລດ Xtreme
    ຜູ້ຈັດການດາວໂຫລດ Xtreme
    ໂຄງການມີເຮືອນໃຫມ່ໃນປັດຈຸບັນ:
    https://xtremedownloadmanager.com/ For
    ນັກພັດທະນາ:
    https://github.com/subhra74/xdm Xtreme
    Download Manager ເປັນ​ເຄື່ອງ​ມື​ທີ່​ມີ​ອໍາ​ນາດ t ...
    ດາວໂຫລດ Xtreme Download Manager
  • 3
    TTGO VGA32 Lite
    TTGO VGA32 Lite
    ຄຸນນະສົມບັດ: 4:3 ແລະ 16:9 ຄວາມລະອຽດຕ່ໍາ
    VGA outputPS/2 keyboard ແລະຫນູ
    ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ທີ່ອີງໃສ່ຂໍ້ຄວາມ input (TUI)
    ກັບ dialog managerPartial Unicode
    ສະ​ຫນັບ​ສະ​ຫນູນ​ຂ້າ​ໃຊ້ ...
    ດາວໂຫລດ TTGO VGA32 Lite
  • 4
    Clover EFI bootloader
    Clover EFI bootloader
    ໂຄງການໄດ້ຍ້າຍໄປ
    https://github.com/CloverHackyColor/CloverBootloader..
    ຄຸນສົມບັດ: ເປີດ macOS, Windows, ແລະ Linux
    ໃນ UEFI ຫຼືຮູບແບບ legacy ໃນ Mac ຫຼື PC ກັບ
    ຢູ...
    ດາວໂຫລດ Clover EFI bootloader
  • 5
    unitedrpms
    unitedrpms
    ເຂົ້າຮ່ວມກັບພວກເຮົາໃນ Gitter!
    https://gitter.im/unitedrpms-people/Lobby
    ເປີດໃຊ້ URPMS repository ໃນຂອງທ່ານ
    ລະບົບ -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    ດາວໂຫລດ unitedrpms
  • 6
    ເພີ່ມຫ້ອງສະCຸດ C ++
    ເພີ່ມຫ້ອງສະCຸດ C ++
    Boost ສະຫນອງການ Portable ຟຣີ
    ຫ້ອງສະໝຸດ C++ ທີ່ໄດ້ທົບທວນຄືນໂດຍໝູ່. ໄດ້
    ເນັ້ນໜັກໃສ່ຫ້ອງສະໝຸດແບບເຄື່ອນທີ່
    ເຮັດວຽກໄດ້ດີກັບຫ້ອງສະຫມຸດມາດຕະຖານ C ++.
    ເບິ່ງ http://www.bo...
    ດາວໂຫລດ Boost C++ Libraries
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad