สมมติว่าคุณขาดทั้ง GNU screenและtmux(และ X11 และคอนโซลเสมือน) แต่ต้องการสลับระหว่างล็อกอินเชลล์และเชลล์โต้ตอบอีกอันหนึ่ง
คุณจะเข้าสู่ระบบในคอนโซลก่อนแล้วจึงเริ่มเปลือกใหม่ปิดกั้นเปลือกเข้าสู่ระบบชั่วคราว suspendที่จะได้รับกลับเปลือกเข้าสู่ระบบการทำงานบางอย่างมีคุณต้องการจะทำอย่างไร จากนั้นคุณจะfgต้องเอาเปลือกโต้ตอบกลับมาเพื่อดำเนินการต่อกับสิ่งที่คุณทำที่นั่น
ในความเป็นจริงที่มีการควบคุมงานเปลือกเข้าสู่ระบบอาจวางไข่จำนวนของเปลือกหอยโต้ตอบเป็นงานพื้นหลังที่คุณสามารถสลับไปกับfg %1, fg %2ฯลฯ แต่ที่จะได้รับกลับไปยังเปลือกเข้าสู่ระบบคุณจะต้องใช้เว้นแต่คุณต้องการด้วยตนเองsuspendkill -s STOP $$
นอกจากนี้โปรดทราบว่าCtrl+ Zที่การแจ้งเตือนในเชลล์แบบโต้ตอบจะไม่ระงับ
แก้ไข:เริ่มแรกฉันมีส่วนสมมุติยาว ๆ เกี่ยวกับการใช้suspendสคริปต์ แต่เนื่องจากคำสั่งต้องการการควบคุมงานและเนื่องจากเชลล์ที่ไม่มีการโต้ตอบมักจะไม่มีการควบคุมงานฉันจึงลบหัวข้อนั้นออก
ส่วนที่ถูกลบด้วยการsuspendแทนที่ด้วยkill -s STOP $$(อันนี้ไม่ได้เป็นของคำตอบอีกต่อไป แต่มันอาจจะน่าสนใจสำหรับคนอื่น ๆ อยู่แล้ว):
สมมติว่าคุณมีกระบวนการแบ็คกราวน์ (สคริปต์) ในสคริปต์และกระบวนการพื้นหลังนี้ในบางขั้นตอนจำเป็นต้องหยุดและรอให้กระบวนการพาเรนต์นั้นดำเนินการต่อ นี่อาจเป็นสาเหตุที่ผู้ปกครองมีเวลาในการแยกและย้ายไฟล์ไปไว้ที่อื่นหรืออะไรทำนองนั้น
สคริปต์เด็กจะระงับ ( kill -s STOP $$) และสคริปต์ที่ผู้ปกครองจะส่งCONTสัญญาณไปมันเมื่อมันก็โอเคที่จะดำเนินการ
มันเปิดโอกาสให้คุณใช้การเรียงลำดับการซิงโครไนซ์ระหว่างกระบวนการพาเรนต์และกระบวนการลูก (แม้ว่าพื้นฐานมากเป็นกระบวนการพาเรนต์เชลล์ต้องการมากกว่าหรือน้อยกว่าที่จะคาดเดาว่ากระบวนการลูกหยุดชั่วคราวแม้ว่าจะสามารถแก้ไขได้ กับดักCONTและไม่ระงับหากได้รับสัญญาณเร็วเกินไป)
fork/execเรียกใช้ระบบ