ນີ້ແມ່ນຄໍາສັ່ງ prctl ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
prctl - ການດໍາເນີນງານຂະບວນການ
ສະຫຼຸບສັງລວມ
prctl [-v] [-h|-- ຊ່ວຍ] [- ການປ່ຽນແປງ]-q|> [ຄໍາສັ່ງ]
ບ່ອນທີ່ ແມ່ນ:
--unaligned=[silent|signal|always-signal|default]
--fpemu=[ງຽບ|ສັນຍານ|ຄ່າເລີ່ມຕົ້ນ]
--mcekill=[ຕົ້ນ|late|default]
ລາຍລະອຽດ
prctl ອະນຸຍາດໃຫ້ທ່ານສອບຖາມຫຼືຄວບຄຸມພຶດຕິກໍາຂະບວນການບາງຢ່າງ. ທາງເລືອກທີ່ສະຫນັບສະຫນູນແມ່ນ:
ບໍ່ສອດຄ່ອງ ຫນ່ວຍຄວາມຈໍາ ການເຂົ້າເຖິງ: ເມື່ອຂະບວນການປະຕິບັດການເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ສອດຄ່ອງ, ໂດຍຄ່າເລີ່ມຕົ້ນ
kernel ຈະຈໍາລອງການເຂົ້າເຖິງ unaligned ຢ່າງຖືກຕ້ອງແລະເຂົ້າສູ່ລະບົບ unaligned ເຂົ້າ
syslog. ພຶດຕິກໍານີ້ສາມາດປ່ຽນແປງໄດ້ເພື່ອໃຫ້ kernel ສາມາດເຮັດຕາມແບບທີ່ບໍ່ສອດຄ່ອງກັນ
ເຂົ້າເຖິງຢ່າງຖືກຕ້ອງໂດຍບໍ່ມີການບັນທຶກຂໍ້ຜິດພາດ ("ງຽບ") ຫຼືສົ່ງ SIGBUS ໄປຫາຂະບວນການ
("ສັນຍານ" ແລະ "ສັນຍານສະເຫມີ"). "always-signal" ແມ່ນມີຢູ່ໃນ ia64 ເທົ່ານັ້ນ.
floating ຈຸດ ຊ່ວຍເຫຼືອ ຄວາມຜິດພາດ: ເມື່ອຂະບວນການພົບຄວາມຜິດພາດຂອງຈຸດລອຍ,
kernel ຈະເອີ້ນການ emulator ຈຸດລອຍແລະບັນທຶກຄວາມຜິດພາດການຊ່ວຍເຫຼືອຈຸດລອຍ. ນີ້
ພຶດຕິກຳສາມາດປ່ຽນແປງໄດ້ເພື່ອໃຫ້ kernel ສາມາດຈຳລອງການເຮັດວຽກຂອງຈຸດລອຍໄດ້
ໂດຍບໍ່ມີການບັນທຶກຂໍ້ຜິດພາດ ("ງຽບ") ຫຼືສົ່ງ SIGFPE ໄປຫາຂະບວນການກະທໍາຜິດ ("ສັນຍານ").
ເຄື່ອງ ໃຫ້ກວດເບິ່ງ ຫນ່ວຍຄວາມຈໍາ corruption ຂ້າ ນະໂຍບາຍ: ຖ້າກວດພົບການສໍ້ລາດບັງຫຼວງຂອງໜ່ວຍຄວາມຈຳຂອງຮາດແວ
ພາຍໃນພື້ນທີ່ທີ່ຢູ່ຂອງກະທູ້, mmemory ນະໂຍບາຍຂ້າການສໍ້ລາດບັງຫຼວງຈະກໍານົດວ່າ
ກະທູ້ໄດ້ຮັບ SIGBUS ທັນທີທີ່ກວດພົບການສໍ້ລາດບັງຫຼວງ ("ຕົ້ນ"), ເມື່ອມັນເຂົ້າເຖິງ
ໜ່ວຍຄວາມຈຳທີ່ເສຍຫາຍ ("ຊ້າ"), ຫຼືໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງລະບົບກວ້າງ.
prctl ສາມາດເລືອກໄດ້ຕາມຄໍາສັ່ງ. ຖ້າຄໍາສັ່ງຖືກລະບຸ, prctl ຈະ exec
ຄໍາສັ່ງທີ່ມີພຶດຕິກໍາຂອງໂຮງງານຜະລິດໄດ້ກໍານົດໄວ້ຕາມທີ່ລະບຸໄວ້ໂດຍທາງເລືອກ. ຖ້າຫາກວ່າຄໍາສັ່ງ
ບໍ່ໄດ້ລະບຸໄວ້, prctl ຈະສ້ອມແຊມ ໃໝ່ ເວັ້ນເສຍແຕ່ວ່າຄໍາສັ່ງພຽງແຕ່ສອບຖາມປັດຈຸບັນ
ການຕັ້ງຄ່າ. ແກະທີ່ເລີ່ມຕົ້ນໂດຍ prctl ຈະຖືກກໍານົດໂດຍຕົວແປສະພາບແວດລ້ອມ
ແກະ. ຖ້າຕົວແປສະພາບແວດລ້ອມບໍ່ໄດ້ກໍານົດ SHELL, Shell ໃນການປ້ອນລະຫັດຜ່ານສໍາລັບ
ຜູ້ໃຊ້ຈະຖືກເລີ່ມຕົ້ນ. ຖ້າບໍ່ພົບ shell ຢູ່ໃນລະຫັດຜ່ານ, bash ຈະຖືກເລີ່ມຕົ້ນ.
OPTIONS
-v ໂຫມດ verbose. ໃນຮູບແບບ verbose, ການຕັ້ງຄ່າໃຫມ່ໃດຫນຶ່ງແມ່ນໄດ້ຮັບການຢືນຢັນໂດຍມີຂໍ້ຄວາມທີ່ເປີດ
stdout.
- ຊ່ວຍ ພິມຂໍ້ມູນການນໍາໃຊ້ແລະອອກ.
- ການປ່ຽນແປງ
ພິມສະບັບຊອບແວແລະອອກ.
-q ສອບຖາມການຕັ້ງຄ່າປະຈຸບັນສໍາລັບຕົວເລືອກຂະບວນການທີ່ສາມາດຄວບຄຸມໄດ້ໂດຍ prctl.
--unaligned=[silent|signal|always-signal|default]]
ກຳນົດພຶດຕິກຳການເຂົ້າເຖິງໜ່ວຍຄວາມຈຳທີ່ບໍ່ສອດຄ່ອງກັນ ເພື່ອບໍ່ໃຫ້ບັນທຶກການເຂົ້າເຖິງ (ງຽບ), ສົ່ງ SIGBUS ໄປ
ຂະບວນການ (signal), ຫຼືເຮັດຄ່າເລີ່ມຕົ້ນ (Default). ກ່ຽວກັບສະຖາປັດຕະຍະກໍາ IA-64 an
ມູນຄ່າເພີ່ມເຕີມ ສະເຫມີສັນຍານ ໄດ້ຮັບການສະຫນັບສະຫນູນທີ່ເຮັດໃຫ້ SIGBUS ຖືກສ້າງຂຶ້ນ
ທຸກໆຄັ້ງມີການເຂົ້າເຖິງທີ່ບໍ່ສອດຄ່ອງກັນ. ອ້າງເຖິງພາກສ່ວນທີ່ມີຊື່ວ່າ "Memory Datum
ການຈັດຮຽງ ແລະ ຄວາມເປັນປະລໍາມະນູ" ໃນ "ຄູ່ມືນັກພັດທະນາຊອບແວສະຖາປັດຕະຍະກໍາ Intel IA-64:
ເຫຼັ້ມທີ 2" ສໍາລັບລາຍລະອຽດກ່ຽວກັບເວລາທີ່ການເຂົ້າເຖິງທີ່ບໍ່ສອດຄ່ອງຈະບໍ່ສ້າງສັນຍານ
ປົກກະຕິ. ຖ້າຄ່າບໍ່ໄດ້ລະບຸໄວ້ຫຼັງຈາກ "=", ການຕັ້ງຄ່າປັດຈຸບັນຈະຖືກສົ່ງຄືນ.
--fpemu=[ງຽບ|ສັນຍານ|ຄ່າເລີ່ມຕົ້ນ]]
ກໍານົດການເຄື່ອນໄຫວການຊ່ວຍເຫຼືອຈຸດທີ່ຜິດພາດເພື່ອບໍ່ເຂົ້າສູ່ລະບົບຄວາມຜິດພາດ (ງຽບ), ສົ່ງ
SIGFPE ກັບຂະບວນການ (signal), ຫຼືເຮັດຄ່າເລີ່ມຕົ້ນ (Default). ຖ້າຄ່າບໍ່ແມ່ນ
ລະບຸໄວ້ຫຼັງຈາກ "=", ການຕັ້ງຄ່າປັດຈຸບັນຖືກສົ່ງຄືນ.
ຖ້າຕົວເລືອກຖືກລະບຸຫຼາຍຄັ້ງ, ອັນສຸດທ້າຍຈະມີຜົນ.
ຕົວຢ່າງ
prctl --unaligned=ສັນຍານ
ເລີ່ມຕົ້ນ Shell (ຕາມທີ່ກໍານົດໂດຍຕົວແປສະພາບແວດລ້ອມ SHELL) ແລະຕັ້ງຄ່າໃດໆ
ຂະບວນການເຮັດວຽກພາຍໃຕ້ແກະນີ້ເພື່ອສົ່ງ SIGBUS ຕາມການເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ສອດຄ່ອງກັນ.
prctl --unaligned=ສັນຍານ gdb tst
ເລີ່ມຕົ້ນກອງປະຊຸມ gdb ສໍາລັບໂຄງການ "tst" ກັບຂະບວນການທີ່ກໍານົດໄວ້ເພື່ອຮັບ
SIGBUS ເມື່ອເຂົ້າເຖິງໜ່ວຍຄວາມຈຳທີ່ບໍ່ເຊື່ອມຕໍ່.
prctl --unaligned=
ສະແດງການຕັ້ງຄ່າປັດຈຸບັນສໍາລັບການຈັດການການເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ສອດຄ່ອງກັນ.
prctl --unaligned= gdb tst
ສະແດງການຕັ້ງຄ່າປະຈຸບັນສໍາລັບການຈັດການການເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ສອດຄ່ອງກັນແລະເລີ່ມຕົ້ນ a
gdb session ສໍາລັບໂຄງການ "tst".
ຫມາຍເຫດ
prctl ເຮັດວຽກຢູ່ໃນ 2.4.0 ແລະຂ້າງເທິງ kernels ເທົ່ານັ້ນ.
--fpemu= ທາງເລືອກແມ່ນສະເພາະກັບ IPF (ຄອບຄົວຕົວປະມວນຜົນ Itanium, ເຊິ່ງເອີ້ນກັນວ່າ IA-64)
ແລະຮອງຮັບໃນ kernels 2.4.11 ແລະສູງກວ່າ. ສະຖາປັດຕະຍະກໍາແລະແກ່ນອື່ນໆອາດຈະກັບຄືນມາ
"ການໂຕ້ຖຽງບໍ່ຖືກຕ້ອງ".
ໃຊ້ prctl ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net