ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

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


เราจะอธิบายโครงสร้างของกระบวนการ Linux ในหัวข้อถัดไป


4.1.2. ประเภทกระบวนการ


4.1.2.1. กระบวนการโต้ตอบ


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


ความไม่ตอบสนองของระบบ


ในขณะที่กระบวนการทำงานอยู่เบื้องหลัง อย่างไรก็ตาม ผู้ใช้ไม่ได้ถูกป้องกันไม่ให้ทำสิ่งอื่นในเทอร์มินัลที่เขาเริ่มโปรแกรมในขณะที่กำลังทำงานอยู่


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


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


บิลลี่:~> เอ็กซ์เทอม &

[เอกสารเก่า] ฮิต


บิลลี่:~> ตำแหน่งงาน

[1]+ วิ่ง

เอ็กซ์เทอม &

บิลลี่:~> เอ็กซ์เทอม &

[เอกสารเก่า] ฮิต


บิลลี่:~> ตำแหน่งงาน

[1]+ วิ่ง

มีการอธิบายคุณสมบัติการควบคุมงานทั้งหมดโดยละเอียดใน ทุบตี หน้าข้อมูล ดังนั้นเฉพาะแอปพลิเคชันควบคุมงานที่ใช้บ่อยจึงแสดงอยู่ที่นี่:


ตารางที่ 4-1. ควบคุมกระบวนการ


(ส่วนหนึ่งของ) คำสั่ง

ความหมาย

Regular_command

รันคำสั่งนี้ในเบื้องหน้า

สั่งการ &

เรียกใช้คำสั่งนี้ในพื้นหลัง (ปล่อยเทอร์มินัล)

ตำแหน่งงาน

แสดงคำสั่งที่ทำงานอยู่เบื้องหลัง

Ctrl+Z

ระงับ (หยุดแต่ไม่เลิก) กระบวนการที่ทำงานอยู่เบื้องหน้า (ระงับ)

Ctrl+C

ขัดจังหวะ (ยุติและออก) กระบวนการที่ทำงานอยู่เบื้องหน้า


%n

ทุกกระบวนการที่ทำงานอยู่เบื้องหลังจะได้รับหมายเลขที่กำหนด โดยใช้นิพจน์ % งานสามารถอ้างอิงถึงโดยใช้หมายเลข ตัวอย่างเช่น fg %2.

bg

เปิดใช้งานโปรแกรมที่ถูกระงับอีกครั้งในเบื้องหลัง

fg

ทำให้งานกลับมาอยู่เบื้องหน้า

ฆ่า

สิ้นสุดกระบวนการ (ดูคำสั่ง Shell Builtin ในหน้าข้อมูลของ ทุบตี)

ตัวอย่างการปฏิบัติเพิ่มเติมสามารถพบได้ในแบบฝึกหัด


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


โปรแกรมนี้เกิดขึ้นตั้งแต่ตอนที่ยังไม่มีการประดิษฐ์คอนโซลเสมือน และทุกอย่างต้องทำโดยใช้เทอร์มินัลข้อความเดียว สำหรับผู้ติดยา มันยังคงมีความหมายใน Linux แม้ว่าเราจะมีคอนโซลเสมือนมาเกือบสิบปีแล้ว



4.1.2.2. กระบวนการอัตโนมัติ


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


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

ในบางครั้งที่โหลดระบบทั้งหมดต่ำพอที่จะรับงานพิเศษ: เสร็จสิ้นโดยใช้ ชุด สั่งการ. โดยค่าเริ่มต้น งานจะถูกจัดวางในคิวที่รอให้ดำเนินการจนกว่าโหลดของระบบจะต่ำกว่า 0.8 ในสภาพแวดล้อมขนาดใหญ่ ผู้ดูแลระบบอาจต้องการการประมวลผลแบบกลุ่มเมื่อต้องประมวลผลข้อมูลจำนวนมาก หรือเมื่องานที่ต้องการทรัพยากรระบบจำนวนมากต้องถูกดำเนินการบนระบบที่โหลดไว้แล้ว การประมวลผลแบบแบตช์ยังใช้เพื่อเพิ่มประสิทธิภาพของระบบอีกด้วย


4.1.2.3. ภูตผี


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: