ນີ້ແມ່ນ lockfile ຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
lockfile - ຜູ້ສ້າງ semaphore-file ທີ່ມີເງື່ອນໄຂ
ສະຫຼຸບສັງລວມ
lockfile -ເວລານອນ | -r ລອງໃ່ |
-l ໝົດເວລາລັອກ | -s suspends | -! | -ml | -ມ | ຊື່ເອກະສານ ...
ລາຍລະອຽດ
lockfile ສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງຫນຶ່ງຫຼືຫຼາຍ ປະເພດ ໄຟ. ຖ້າ lockfile ບໍ່ສາມາດສ້າງທັງຫມົດ
ໄຟລ໌ທີ່ລະບຸ (ໃນຄໍາສັ່ງທີ່ລະບຸ), ມັນລໍຖ້າ ເວລານອນ (ຄ່າເລີ່ມຕົ້ນເປັນ 8) ວິນາທີ
ແລະລອງໄຟລ໌ສຸດທ້າຍທີ່ບໍ່ສຳເລັດ. ທ່ານສາມາດກໍານົດຈໍານວນຂອງ ລອງໃ່ to
ເຮັດຈົນກ່ວາຄວາມລົ້ມເຫຼວຈະກັບຄືນມາ. ຖ້າຫາກວ່າຈໍານວນຂອງ ລອງໃ່ ແມ່ນ -1 (ຄ່າເລີ່ມຕົ້ນ, ເຊັ່ນ, -r-1)
lockfile ຈະລອງໃໝ່ຕະຫຼອດໄປ.
ຖ້າຫາກວ່າຈໍານວນຂອງ ລອງໃ່ ໝົດອາຍຸກ່ອນທີ່ຈະສ້າງໄຟລ໌ທັງໝົດ, lockfile ກັບຄືນມາ
ຄວາມລົ້ມເຫຼວແລະເອົາໄຟລ໌ທັງຫມົດທີ່ມັນສ້າງຂຶ້ນຈົນກ່ວາຈຸດນັ້ນ.
ການນໍາໃຊ້ lockfile ເປັນເງື່ອນໄຂຂອງການ loop ໃນສະຄຣິບຫອຍສາມາດເຮັດໄດ້ຢ່າງງ່າຍດາຍໂດຍການນໍາໃຊ້
ໄດ້ -! ທຸງເພື່ອປ່ຽນສະຖານະທາງອອກ. ເພື່ອປ້ອງກັນ loops infinite, ຄວາມລົ້ມເຫຼວສໍາລັບການໃດໆ
ເຫດຜົນອື່ນນອກຈາກ lockfile ທີ່ມີຢູ່ແລ້ວແມ່ນບໍ່ inverted ກັບຜົນສໍາເລັດແຕ່ແທນທີ່ຈະເປັນ
ຍັງກັບຄືນມາເປັນຄວາມລົ້ມເຫລວ.
ທຸງທັງຫມົດສາມາດຖືກກໍານົດຢູ່ບ່ອນໃດກໍ່ຕາມໃນເສັ້ນຄໍາສັ່ງ, ພວກມັນຈະຖືກປຸງແຕ່ງເມື່ອ
ພົບ. ເສັ້ນຄໍາສັ່ງຖືກແຍກພຽງແຕ່ຈາກຊ້າຍຫາຂວາ.
ໄຟລ໌ທັງໝົດທີ່ສ້າງຂຶ້ນໂດຍ lockfile ຈະຖືກອ່ານເທົ່ານັ້ນ, ແລະດັ່ງນັ້ນຈຶ່ງຈະຕ້ອງເອົາອອກ
ກັບ rm -f.
ຖ້າເຈົ້າລະບຸ ກ ໝົດເວລາລັອກ ຫຼັງຈາກນັ້ນ, ໄຟລ໌ lockfile ຈະຖືກລຶບອອກໂດຍການບັງຄັບຫຼັງຈາກຫມົດເວລາລັອກ
ວິນາທີໄດ້ຜ່ານໄປນັບຕັ້ງແຕ່ lockfile ໄດ້ຮັບການແກ້ໄຂ / ການສ້າງຕັ້ງຄັ້ງສຸດທ້າຍ (ຫຼາຍທີ່ສຸດໂດຍບາງຄົນ
ໂຄງການອື່ນໆທີ່ບໍ່ຄາດຄິດໄດ້ເສຍຊີວິດເປັນເວລາດົນນານກ່ອນຫນ້ານີ້, ແລະດັ່ງນັ້ນບໍ່ສາມາດທໍາຄວາມສະອາດໃດໆ
lockfiles ທີ່ເຫຼືອ). Lockfile ເປັນໂມງ skew immune. ຫຼັງຈາກ lockfile ໄດ້ຖືກໂຍກຍ້າຍອອກໂດຍ
ຜົນບັງຄັບໃຊ້, suspension ຂອງ suspends ວິນາທີ (ຄ່າເລີ່ມຕົ້ນທີ່ 16) ແມ່ນໄດ້ເຂົ້າໄປໃນບັນຊີ, ໃນຄໍາສັ່ງທີ່ຈະ
ປ້ອງກັນບໍ່ໃຫ້ການໂຍກຍ້າຍທັນທີທັນໃດ inadvertent ຂອງ lockfile ສ້າງໃຫມ່ໂດຍໂຄງການອື່ນ
(ປຽບທຽບ ໂຈະ in procmail(1)).
ກ່ອງຈົດ ໝາຍ locks
ຖ້າການອະນຸຍາດຢູ່ໃນລະບົບ mail spool directory ອະນຸຍາດໃຫ້ມັນ, ຫຼືຖ້າ lockfile ເຫມາະສົມ
setgid, ມັນຈະສາມາດລັອກແລະປົດລັອກກ່ອງຈົດຫມາຍລະບົບຂອງທ່ານໂດຍການໃຊ້ທາງເລືອກ -ml
ແລະ -ມ ຕາມລໍາດັບ.
ຕົວຢ່າງ
ສົມມຸດວ່າທ່ານຕ້ອງການໃຫ້ແນ່ໃຈວ່າການເຂົ້າເຖິງໄຟລ໌ "ສໍາຄັນ" ແມ່ນ serialised, ie, ບໍ່ມີ.
ຫຼາຍກວ່າໜຶ່ງໂປຣແກຣມ ຫຼື shell script ຄວນໄດ້ຮັບອະນຸຍາດໃຫ້ເຂົ້າເຖິງມັນ. ສໍາລັບຄວາມງ່າຍດາຍຂອງ
sake, ໃຫ້ສົມມຸດວ່າມັນເປັນ script ແກະ. ໃນກໍລະນີດັ່ງກ່າວນີ້, ທ່ານສາມາດແກ້ໄຂໄດ້:
...
lockfile important.lock
...
access_"ສຳຄັນ"_to_your_hearts_content
...
rm -f important.lock
...
ໃນປັດຈຸບັນຖ້າຫາກວ່າສະຄິບທັງຫມົດທີ່ເຂົ້າເຖິງ "ສໍາຄັນ" ປະຕິບັດຕາມຄໍາແນະນໍານີ້, ທ່ານຈະໄດ້ຮັບຄວາມຫມັ້ນໃຈ
ທີ່ຫຼາຍທີ່ສຸດຫນຶ່ງ script ຈະຖືກປະຕິບັດລະຫວ່າງ 'lockfile' ແລະຄໍາສັ່ງ 'rm'.
ENVIRONMENT
LOGNAME ໃຊ້ເປັນຄໍາແນະນໍາເພື່ອກໍານົດຊື່ເຂົ້າສູ່ລະບົບຂອງຜູ້ເອີ້ນ
ໃຊ້ lockfile ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net