
ในระบบที่มีลักษณะเหมือน UNIX การจัดการงานอย่างมีประสิทธิภาพเป็นสิ่งสำคัญเมื่อคุณต้องการจัดการหลายกระบวนการในเวลาเดียวกันแนวคิดของ "การควบคุมงาน" ช่วยให้คุณสามารถเรียกใช้กระบวนการในพื้นหลังและนำพวกเขาไปเบื้องหน้าเมื่อจำเป็นที่ FG คำสั่งเป็นเครื่องมือที่มีประโยชน์สำหรับจุดประสงค์นี้มันช่วยให้นำกระบวนการพื้นหลังไปใช้อย่างเงียบ ๆ ในระบบไปยังแถวหน้าซึ่งสามารถโต้ตอบได้โดยตรงสิ่งนี้มีประโยชน์เมื่อคุณต้องการทำงานต่อในกระบวนการหยุดชั่วคราวหรือส่งไปยังพื้นหลังการใช้คำสั่ง FG ช่วยเพิ่มผลผลิตโดยทำให้ง่ายต่อการจัดการงานระบบโดยไม่ขัดจังหวะเวิร์กโฟลว์ตัวอย่างเช่นคุณสามารถส่งงานไปยังพื้นหลังด้วย Ctrl + Z ทำให้เทอร์มินัลสำหรับงานอื่น ๆ และใช้ FG ในภายหลังเพื่อนำงานนั้นกลับไปที่เบื้องหน้าคำสั่งนี้ถูกสร้างขึ้นในเปลือกหอยที่ใช้ UNIX ส่วนใหญ่รวมถึง Korn Shell (KSH) และเปลือกหอยที่สอดคล้องกับ POSIX ทำให้มีอยู่อย่างกว้างขวางในระบบที่แตกต่างกันการควบคุมงานรวมถึงการใช้ FG เป็นสิ่งสำคัญในสถานการณ์ที่มัลติทาสก์ภายในเทอร์มินัลลองนึกภาพการใช้สคริปต์ยาวที่ต้องใช้เวลาในการจบแทนที่จะรอให้มันเสร็จสมบูรณ์คุณสามารถส่งไปยังพื้นหลังทำงานต่อไปทำงานอย่างอื่นและต่อมานำมันกลับมาพร้อมกับ FGสิ่งนี้จะช่วยจัดการงานหลายอย่างในวิธีที่มีโครงสร้างและมีประสิทธิภาพโดยไม่สูญเสียกระบวนการสำคัญ
ที่ FG คำสั่งใช้งานง่าย แต่การรู้ไวยากรณ์และวิธีการระบุงานอย่างถูกต้องเป็นสิ่งสำคัญสำหรับการทำงานอย่างมีประสิทธิภาพไวยากรณ์พื้นฐานคือ:
fg [jobid]
ที่ [jobid] เป็นวิธีที่จะบอกระบบว่างานพื้นหลังที่คุณต้องการนำไปสู่เบื้องหน้ามีหลายวิธีในการระบุรหัสงานนี้ตัวอย่างเช่นคุณสามารถใช้ %ตัวเลข เพื่ออ้างถึงงานโดยตัวระบุตัวเลขเช่น %1 สำหรับงานแรกหรือคุณสามารถใช้ส่วนหนึ่งของชื่องานได้โดยระบุ สตริง %หรือแม้แต่ค้นหางานที่มีสายย่อยเฉพาะโดยใช้ %? สตริง-หากคุณต้องการนำงานหยุดชั่วคราวไปก่อนหน้านี้คุณสามารถใช้งานได้ง่าย FG โดยไม่ต้องระบุรหัสงานมาเป็นตัวอย่างกันเถอะลองนึกภาพว่าคุณกำลังใช้กระบวนการพื้นหลังที่เรียกว่า นอนหลับ 100 (ซึ่งทำให้ระบบรอ 100 วินาที)คุณสามารถใช้ไฟล์ งาน คำสั่งเพื่อแสดงรายการงานพื้นหลังที่ใช้งานอยู่และอาจแสดงอะไรแบบนี้:
[1] + Running Sleep 100 &
เพื่อนำกระบวนการนี้ไปเบื้องหน้าคุณจะพิมพ์ FG %1-หากคุณมีงานหลายงานจำเป็นต้องใช้รหัสงานที่ถูกต้องเพื่อหลีกเลี่ยงการนำกระบวนการผิดไปเบื้องหน้าโดยไม่ตั้งใจโดยใช้ FG มั่นใจได้อย่างถูกต้องว่าคุณสามารถสลับระหว่างงานได้อย่างราบรื่นโดยไม่ทำให้สับสนหรือหยุดชะงักการรู้วิธีนำกระบวนการไปสู่เบื้องหน้าเป็นสิ่งสำคัญเมื่อต้องรับมือกับงานเชิงโต้ตอบตัวอย่างเช่นหากกระบวนการต้องการอินพุตคุณต้องใช้มันในเบื้องหน้าเพื่อตอบสนองโดยไม่ต้องใช้ FGคุณจะต้องหยุดงานอื่น ๆ หรือเปิดเทอร์มินัลใหม่เพื่อโต้ตอบกับกระบวนการพื้นหลังดังนั้นการควบคุมงานจะช่วยให้เวิร์กโฟลว์ของคุณราบรื่นและมีประสิทธิภาพ
เมื่อใช้คำสั่ง FG สิ่งสำคัญคือต้องเข้าใจว่าระบบตอบสนองอย่างไรผ่านรหัสออกรหัสเหล่านี้ช่วยให้คุณรู้ว่าคำสั่งดำเนินการสำเร็จหรือไม่หรือมีปัญหาการดำเนินการที่ประสบความสำเร็จของคำสั่ง FG ส่งคืนรหัสออกเป็น 0 ซึ่งหมายความว่างานพื้นหลังถูกนำไปเบื้องหน้าโดยไม่มีปัญหาใด ๆอย่างไรก็ตามหากมีข้อผิดพลาดเช่นหากคุณพยายามนำงานไปที่เบื้องหน้าเมื่อปิดใช้งานการควบคุมงานระบบจะส่งคืนรหัสออกที่มากกว่า 0 ส่งสัญญาณว่ามีบางอย่างผิดปกติ
ในบางกรณีการควบคุมงานอาจถูกปิดใช้งานในสภาพแวดล้อมเชลล์เมื่อสิ่งนี้เกิดขึ้นการพยายามใช้ FG จะส่งผลให้เกิดข้อผิดพลาดหากไม่มีการควบคุมงานคุณไม่สามารถย้ายงานพื้นหลังไปยังเบื้องหน้าซึ่ง จำกัด การทำงานหลายอย่างและประสิทธิภาพของระบบดังนั้นจึงจำเป็นต้องมีการเปิดใช้งานการควบคุมงานเมื่อทำงานในระบบที่มีลักษณะเหมือน UNIX โดยเฉพาะอย่างยิ่งในสภาพแวดล้อมที่การจัดการกระบวนการหลายกระบวนการเป็นเรื่องปกติหากต้องการดูวิธีการทำงานในทางปฏิบัติให้พิจารณาสถานการณ์ต่อไปนี้คุณมีงานพื้นหลังที่ดำเนินการมานานซึ่งคุณหยุดชั่วคราวโดยใช้ Ctrl + Z คุณพยายามใช้คำสั่ง FG แต่จะส่งคืนข้อผิดพลาดเนื่องจากการควบคุมงานถูกปิดใช้งานสถานการณ์นี้เน้นความสำคัญของการตรวจสอบการกำหนดค่าระบบและทำให้แน่ใจว่าการควบคุมงานทำงานอยู่ก่อนที่จะพยายามใช้คำสั่งเช่น FG
มาดูตัวอย่างง่ายๆเพื่อดูว่า FG ใช้งานได้จริงลองนึกภาพว่าคุณกำลังใช้กระบวนการที่เรียกว่า นอนหลับ 100ซึ่งทำให้ระบบหยุดชั่วคราวเป็นเวลา 100 วินาทีแทนที่จะรอให้เสร็จคุณตัดสินใจที่จะส่งไปยังพื้นหลังโดยพิมพ์:
นอนหลับ 100 &
ตอนนี้งานกำลังทำงานในพื้นหลังและคุณสามารถใช้เทอร์มินัลต่อไปในการตรวจสอบว่างานพื้นหลังกำลังทำงานอยู่คุณใช้ไฟล์ งาน คำสั่งซึ่งแสดงรายการงานที่ใช้งานอยู่คุณเห็นอะไรแบบนี้:
[1] + Running Sleep 100 &
หากคุณต้องการนำงานนี้กลับไปที่เบื้องหน้าคุณเพียงแค่พิมพ์:
FG %1
เมื่อคุณทำเช่นนี้งานจะย้ายไปที่เบื้องหน้าและเทอร์มินัลจะแสดงชื่อกระบวนการซึ่งระบุว่าตอนนี้เป็นงานที่ใช้งานอยู่เบื้องหน้ากระบวนการจะมีประโยชน์หากคุณต้องการโต้ตอบกับมันหรือตรวจสอบความคืบหน้าในเวลาตัวอย่างเช่นหากงานต้องใช้อินพุตหรือการปรับเปลี่ยนการนำไปที่เบื้องหน้าจะช่วยให้คุณทำเช่นนั้นได้โดยตรงสิ่งนี้ทำให้ FG เป็นเครื่องมือที่มีค่าสำหรับการจัดการงานอย่างมีประสิทธิภาพโดยไม่ขัดจังหวะเวิร์กโฟลว์ของคุณ
เชลล์ Korn (KSH) เป็นอินเทอร์เฟซบรรทัดคำสั่งยอดนิยมที่ใช้ในระบบที่ใช้ UNIX หลายระบบมันให้การสนับสนุนในตัวสำหรับการควบคุมงานและรวมถึงคำสั่ง FG เป็นส่วนหนึ่งของคุณสมบัติหลักการรวมนี้ช่วยให้คุณสามารถจัดการพื้นหลังและงานเบื้องหน้าโดยตรงจากเปลือกหอยทำให้ง่ายต่อการจัดการมัลติทาสก์โดยไม่ต้องพึ่งพาเครื่องมือภายนอกคุณสมบัติที่สำคัญอย่างหนึ่งของเชลล์ Korn คือความสามารถในการเขียนสคริปต์คุณสามารถเขียนสคริปต์ที่ทำซ้ำงานซ้ำ ๆ และคำสั่ง FG สามารถใช้ภายในสคริปต์เหล่านี้เพื่อจัดการกระบวนการพื้นหลังตัวอย่างเช่นสคริปต์อาจเริ่มกระบวนการในพื้นหลังปฏิบัติงานอื่น ๆ จากนั้นนำกระบวนการพื้นหลังไปที่เบื้องหน้าเมื่อคุณต้องการอินพุตความยืดหยุ่นนี้ทำให้ Korn เชลล์เป็นเครื่องมือที่ทรงพลังสำหรับผู้ดูแลระบบและผู้ที่ต้องการจัดการเวิร์กโฟลว์ที่ซับซ้อนนอกเหนือจาก FG เวอร์ชันในตัวใน Korn Shell แล้วยังมีคำสั่งแบบสแตนด์อโลนที่ตั้งอยู่ที่ /usr/bin/fg-สิ่งนี้ช่วยให้คำสั่งสามารถใช้ในสภาพแวดล้อมของเชลล์ที่แตกต่างกันเพื่อให้มั่นใจว่าพฤติกรรมที่สอดคล้องกันโดยไม่คำนึงถึงเชลล์ที่ใช้งาน
กรุณาส่งคำถามเราจะตอบกลับทันที
บน 09/01/2025
บน 09/01/2025
บน 19/04/8000 147782
บน 19/04/2000 112070
บน 19/04/1600 111352
บน 19/04/0400 83827
บน 01/01/1970 79640
บน 01/01/1970 67005
บน 01/01/1970 63130
บน 01/01/1970 63067
บน 01/01/1970 54097
บน 01/01/1970 52223