Multitasking: Process Background ແລະ Process Foreground

ໃນລະບົບປະຕິບັດການ multitasking, Linux ສະຫນັບສະຫນູນການປະຕິບັດຫຼາຍຂະບວນການ - ຂັ້ນພື້ນຖານ, ໂຄງການຫຼືຄໍາສັ່ງຫຼືວຽກງານທີ່ຄ້າຍຄືກັນ - ໃນພື້ນຖານໃນຂະນະທີ່ທ່ານຍັງສືບຕໍ່ເຮັດວຽກຢູ່ໃນຫນ້າຈໍ.

ຂັ້ນຕອນທໍາອິດ

ຂະບວນການດ້ານຫນ້າ ແມ່ນຄໍາສັ່ງຫຼືວຽກທີ່ທ່ານດໍາເນີນການໂດຍກົງແລະລໍຖ້າໃຫ້ສໍາເລັດ. ບາງຂັ້ນຕອນຂອງຂັ້ນຕອນທໍາອິດສະແດງໃຫ້ເຫັນບາງປະເພດຂອງການໂຕ້ຕອບຜູ້ໃຊ້ທີ່ສະຫນັບສະຫນູນການໂຕ້ຕອບຜູ້ໃຊ້ຢ່າງຕໍ່ເນື່ອງ, ໃນຂະນະທີ່ຄົນອື່ນປະຕິບັດວຽກງານແລະ "freeze" ຄອມພິວເຕີໃນຂະນະທີ່ມັນສໍາເລັດວຽກນັ້ນ.

ຈາກແກະ, ຂັ້ນຕອນຂອງການ foreground ຈະເລີ່ມຕົ້ນໂດຍການພິມຄໍາສັ່ງຢູ່ທີ່ prompt. ຕົວຢ່າງ: ເພື່ອເບິ່ງບັນຊີລາຍຊື່ງ່າຍໆຂອງໄຟລ໌ໃນໄດເລກະທໍລີທີ່ໃຊ້ວຽກ, ປະເພດ:

$ ls

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

Process Background

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

$ command1 &

ໃນເວລາທີ່ທ່ານອອກຄໍາສັ່ງທີ່ມີການສະຫຼັບ ampersand, shell ຈະດໍາເນີນການເຮັດວຽກ, ແຕ່ແທນທີ່ຈະເຮັດໃຫ້ທ່ານລໍຖ້າຄໍາສັ່ງສໍາເລັດ, ທ່ານຈະຖືກສົ່ງກັບໄປ shell ແລ້ວ, ແລະທ່ານຈະເຫັນ prompt shell (% ສໍາລັບ C Shell, ແລະ $ ສໍາລັບ Bourne Shell ແລະ Korn Shell) ກັບຄືນ. ໃນຈຸດນີ້, ທ່ານສາມາດເຂົ້າໄປຄໍາສັ່ງອື່ນສໍາລັບຂັ້ນຕອນຂອງ foreground ຫຼື background. ການເຮັດວຽກພື້ນຖານແມ່ນດໍາເນີນການຢູ່ໃນລະດັບຄວາມຫນ້າເບົາທີ່ຕໍ່າກວ່າວຽກງານທາງຫນ້າ.

ທ່ານຈະເຫັນຂໍ້ຄວາມຢູ່ຫນ້າຈໍໃນເວລາທີ່ຂະບວນການພື້ນຫລັງສໍາເລັດແລ້ວ.

ການປ່ຽນລະຫວ່າງຂະບວນການ

ຖ້າຂັ້ນຕອນຂອງ foreground ໃຊ້ເວລາຫຼາຍເກີນໄປ, ຢຸດມັນໂດຍກົດ CTRL + Z. ວຽກທີ່ຢຸດວຽກກໍ່ຍັງຄົງຢູ່, ແຕ່ການປະຕິບັດຂອງມັນຖືກໂຈະ. ເພື່ອສືບຕໍ່ວຽກງານ, ແຕ່ວ່າໃນພື້ນຖານ, ປະເພດ bg ເພື່ອສົ່ງວຽກເຮັດງານທໍາທີ່ຢຸດໃຫ້ການດໍາເນີນງານພື້ນຫລັງ.

ເພື່ອສືບຕໍ່ຂະບວນການທີ່ຖືກໂຈະຢູ່ທາງຫນ້າ, ປະເພດ fg ແລະຂະບວນການນັ້ນຈະໃຊ້ເວລາໃນໄລຍະການເຄື່ອນໄຫວທີ່ມີການເຄື່ອນໄຫວ.

ເພື່ອເບິ່ງບັນຊີລາຍຊື່ຂອງຂະບວນການທີ່ຖືກໂຈະທັງຫມົດ, ໃຫ້ໃຊ້ຄໍາສັ່ງວຽກຫຼືໃຊ້ຄໍາສັ່ງ ເທິງ ເພື່ອສະແດງລາຍຊື່ຂອງວຽກງານທີ່ໃຊ້ CPU ຫຼາຍທີ່ສຸດເພື່ອໃຫ້ທ່ານສາມາດ suspend ຫຼືຢຸດໃຫ້ພວກມັນຍົກລະດັບຊັບພະຍາກອນລະບົບ.

Shell vs GUI

Multitasking ເຮັດວຽກທີ່ແຕກຕ່າງກັນຂຶ້ນຢູ່ກັບວ່າທ່ານກໍາລັງເຮັດວຽກຢູ່ ໃນແກະສະຫຼັກຫຼືການໂຕ້ຕອບຜູ້ໃຊ້ແບບກາຟິກ . Linux ຈາກແກະສະຫນັບສະຫນູນພຽງແຕ່ຫນຶ່ງໃນຂະບວນການດ້ານຫນ້າທີ່ໃຊ້ວຽກຢູ່ຕໍ່ປາຍທາງ virtual. ຢ່າງໃດກໍ່ຕາມ, ຈາກທັດສະນະປະຕິບັດຂອງຜູ້ໃຊ້, ສະພາບແວດລ້ອມທີ່ມີ windowed (ເຊັ່ນ: Linux ກັບ desktop, ບໍ່ໄດ້ຈາກ shell text) ສະຫນັບສະຫນູນປ່ອງຢ້ຽມທີ່ມີການເຄື່ອນໄຫວຫຼາຍຢ່າງທີ່ມີປະສິດທິຜົນເປັນຂະບວນການ foreground ພ້ອມໆກັນ. ໃນການປະຕິບັດ, Linux behind the scenes ປັບຄວາມສໍາຄັນຂອງຂະບວນການໃນ GUI ເພື່ອສົ່ງເສີມຄວາມຫມັ້ນຄົງຂອງລະບົບແລະສະຫນັບສະຫນູນການປຸງແຕ່ງຜູ້ໃຊ້ຂັ້ນສຸດທ້າຍ.