DevOps Bootcamp · บทเรียน

งานเบื้องหลังและการควบคุมงาน

เรียกใช้คำสั่งโดยไม่ยึดเทอร์มินัลไว้ เรียนรู้งานเบื้องหลัง การควบคุมงานด้วย jobs/fg/bg และการทำให้กระบวนการทำงานต่อหลังออกจากระบบด้วย nohup

บทเรียน 4 จาก 413 ขั้นตอน

งานเบื้องหลังและการควบคุมงาน เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องใช้ งานเบื้องหลัง

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

เริ่มทำงานในเบื้องหลัง

เติม & ต่อท้ายคำสั่งเพื่อเปิดใช้คำสั่งนั้นในเบื้องหลัง เชลล์จะแสดงหมายเลขงานและ PID จากนั้นคืนพรอมต์ให้ทันที

sleep 300 &
[1] 4821

แสดงรายการงาน

คำสั่ง jobs แสดงรายการงานเบื้องหลังและงานที่หยุดอยู่ของเชลล์ปัจจุบัน โดยแต่ละงานจะมีหมายเลขงานอยู่ในวงเล็บเหลี่ยม

jobs
[1]+  Running   sleep 300 &

ระงับงาน

กด Ctrl+Z เพื่อระงับคำสั่งเบื้องหน้า คำสั่งจะหยุดทำงาน (ไม่ใช่ออกจากโปรแกรม) และคืนพรอมต์ให้

^Z
[1]+  Stopped   nano notes.txt

ทำงานต่อในเบื้องหลัง

bg ทำให้งานล่าสุดที่หยุดอยู่ทำงานต่อในเบื้องหลัง เพื่อให้ทำงานต่อขณะที่คุณทำงานอื่น

bg
[1]+ nano notes.txt &

นำงานมาไว้เบื้องหน้า

fg นำงานเบื้องหลังหรืองานที่หยุดอยู่กลับมาไว้เบื้องหน้า ระบุงานที่ต้องการได้ด้วย fg %n

fg %1   # bring job 1 to the foreground

การอ้างอิงงาน

ใช้ %n เพื่ออ้างอิงงานตามหมายเลขในคำสั่งอย่าง fg, bg และ kill

kill %1   # terminate job number 1

งานกับ PID

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

ทำงานต่อหลังออกจากระบบด้วย nohup

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

nohup ./long_task.sh > out.log 2>&1 &

ยกเลิกการผูกงาน

disown นำงานที่กำลังทำงานออกจากตารางงานของเชลล์ ดังนั้นเมื่อปิดเชลล์ ระบบจะไม่ส่งสัญญาณวางสายไปยังงานนั้น

./task &
disown %1

เครื่องมืออย่าง screen และ tmux

สำหรับเซสชันที่ทำงานนานจริงจังหรือเซสชันระยะไกล โปรแกรมจัดการหลายเซสชันของเทอร์มินัลอย่าง tmux หรือ screen จะทำให้ทั้งเซสชันยังทำงานอยู่และเชื่อมต่อกลับได้หลังการตัดการเชื่อมต่อ

ตรวจสอบอย่างรวดเร็ว

ทดสอบความเข้าใจของคุณ

สรุปทบทวน

คุณได้เรียนรู้การควบคุมงาน: เปิดใช้ด้วย & แสดงรายการด้วย jobs ระงับด้วย Ctrl+Z ย้ายงานด้วย bg/fg และ %n และทำให้งานทำงานต่อหลังออกจากระบบด้วย nohup, disown หรือ tmux/screen

เริ่มต้นได้ฟรี

เรียนรู้ DevOps Bootcamp ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
142
บทเรียน
568

คำถามที่พบบ่อย

บทเรียน “งานเบื้องหลังและการควบคุมงาน” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “งานเบื้องหลังและการควบคุมงาน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “งานเบื้องหลังและการควบคุมงาน”

เรียกใช้คำสั่งโดยไม่ยึดเทอร์มินัลไว้ เรียนรู้งานเบื้องหลัง การควบคุมงานด้วย jobs/fg/bg และการทำให้กระบวนการทำงานต่อหลังออกจากระบบด้วย nohup คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “งานเบื้องหลังและการควบคุมงาน” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การจัดการกระบวนการ (ps, top, kill)
  2. การเปลี่ยนเส้นทางข้อมูลนำเข้าและผลลัพธ์ (>, >>, <)
  3. การต่อคำสั่งด้วยไพป์ (|)
  4. งานเบื้องหลังและการควบคุมงาน
← กลับไปที่ DevOps Bootcamp