การทำงานหลายอย่าง: กระบวนการเบื้องหลังและขั้นตอนเบื้องหน้า

ในฐานะที่เป็นระบบปฏิบัติการแบบมัลติทาสกิ้ง ลินุกซ์ สนับสนุนการทำงานของกระบวนการต่างๆโดยทั่วไปโปรแกรมหรือคำสั่งหรืองานที่คล้ายคลึงกันในพื้นหลังขณะที่คุณทำงานต่อไปในเบื้องหน้า

ขั้นตอนเบื้องหน้า

กระบวนการเบื้องหน้า คือคำสั่งหรืองานที่คุณเรียกใช้โดยตรงและรอให้เสร็จสิ้น กระบวนการเบื้องหน้าบางส่วนแสดงอินเทอร์เฟซผู้ใช้บางประเภทที่สนับสนุนการโต้ตอบของผู้ใช้ขณะที่คนอื่น ๆ รันภารกิจและ "หยุดทำงาน" คอมพิวเตอร์ในขณะที่ทำงานเสร็จสิ้น

จากเชลล์กระบวนการเบื้องหน้าจะเริ่มต้นด้วยการพิมพ์คำสั่งที่พรอมต์ ตัวอย่างเช่นหากต้องการดูรายการไฟล์ที่ระบุในไดเร็กทอรีที่ใช้งานอยู่ให้พิมพ์:

$ ls

คุณจะเห็นรายการไฟล์ ขณะที่คอมพิวเตอร์กำลังเตรียมและพิมพ์รายการดังกล่าวคุณจะไม่สามารถดำเนินการใด ๆ ได้จากพรอมต์คำสั่ง

กระบวนการเบื้องหลัง

ไม่เหมือนกับขั้นตอนเบื้องหน้า เปลือก ไม่ต้องรอให้ กระบวนการพื้นหลัง สิ้นสุดลงก่อนจึงจะสามารถรันกระบวนการได้มากขึ้น ภายในขีด จำกัด ของจำนวนหน่วยความจำที่พร้อมใช้งานคุณสามารถป้อนคำสั่งพื้นหลังจำนวนมากได้ทีละรายการ เมื่อต้องการเรียกใช้คำสั่งเป็นกระบวนการพื้นหลังพิมพ์คำสั่งและเพิ่มช่องว่างและเครื่องหมายบวกและท้ายคำสั่ง ตัวอย่างเช่น:

$ command1 &

เมื่อคุณออกคำสั่งด้วยเครื่องหมายคำพูดสุดท้ายแล้วเปลือกจะรันงาน แต่แทนที่จะทำให้คุณรอคำสั่งให้เสร็จสิ้นคุณจะกลับไปที่เปลือกทันทีและคุณจะเห็นข้อความแจ้งเตือนของเชลล์ (% for C Shell และ $ สำหรับ Bourne Shell และ Korn Shell) กลับมา ณ จุดนี้คุณสามารถป้อนคำสั่งอื่นสำหรับขั้นตอนเบื้องหน้าหรือพื้นหลัง งานพื้นหลังทำงานที่ระดับความสำคัญต่ำกว่าสำหรับงานเบื้องหน้า

คุณจะเห็นข้อความบนหน้าจอเมื่อกระบวนการพื้นหลังดำเนินการเสร็จสิ้น

การสลับระหว่างกระบวนการ

ถ้ากระบวนการเบื้องหน้าใช้เวลามากเกินไปให้หยุดโดยการกด CTRL + Z งานที่หยุดทำงานยังคงมีอยู่ แต่การเรียกใช้งานจะถูกระงับ ในการดำเนินการงานต่อ แต่ในแบคกราวด์ให้พิมพ์ bg เพื่อส่งงานที่หยุดทำงานไปใช้งานพื้นหลัง

หากต้องการดำเนินการกระบวนการที่ถูกระงับในขั้นตอนต่อหน้าให้พิมพ์ fg และกระบวนการดังกล่าวจะใช้เวลาช่วงที่ใช้งานอยู่

เมื่อต้องการดูรายการกระบวนการระงับทั้งหมดให้ใช้คำสั่ง งาน หรือใช้คำสั่ง ด้านบน เพื่อแสดงรายการงานที่ต้องใช้ CPU มากที่สุดเพื่อให้คุณสามารถระงับหรือหยุดใช้งานเพื่อเพิ่มทรัพยากรระบบได้

Shell vs. GUI

การทำงานหลายอย่างทำงานแตกต่างกันขึ้นอยู่กับว่าคุณกำลังทำงานจาก เปลือกหรือส่วนติดต่อผู้ใช้แบบกราฟิก Linux จากเชลล์รองรับกระบวนการ foreground ที่ใช้งานได้เพียงหนึ่งรายการต่อเทอร์มินัลเสมือน อย่างไรก็ตามจากมุมมองในทางปฏิบัติของผู้ใช้สภาพแวดล้อมที่มีหน้าต่าง (เช่น Linux พร้อมเดสก์ท็อปไม่ใช่จากเชลล์แบบข้อความ) สนับสนุนหน้าต่างที่ใช้งานอยู่หลายหน้าต่างซึ่งทำงานได้ดีในหลายขั้นตอนพร้อม ๆ กัน ในทางปฏิบัติลินุกซ์เบื้องหลังปรับลำดับความสำคัญของกระบวนการต่างๆใน GUI เพื่อส่งเสริมเสถียรภาพของระบบและสนับสนุนการประมวลผลของผู้ใช้ปลายทาง