วิธีทำให้กระบวนการเทอร์มินัลทำงานในพื้นหลัง

กระบวนการเทอร์มินัลเบื้องหลัง

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

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

bg ใช้กระบวนการจากเทอร์มินัลไปยังพื้นหลัง

En บทความนี้ เราอธิบายว่าเหตุใดเราจึงไม่สามารถคัดลอกและวางด้วยทางลัดตลอดอายุการใช้งานในเทอร์มินัล ทางลัดเหล่านั้นใช้เพื่อดำเนินการอื่น ๆ เช่น Ctrl + C เพื่อหยุดกระบวนการ ในโปรแกรมอื่น ๆ อีกมากมาย Ctrl + Z ใช้เพื่อเลิกทำการเปลี่ยนแปลงล่าสุด แต่ก็ใช้ไม่ได้ในเทอร์มินัลเช่นกัน สิ่งที่ทำในเทอร์มินัลคือหยุดกระบวนการชั่วคราวและเพิ่มลงใน "งาน" ตัวอย่างที่เร็วที่สุดที่เราสามารถดูวิธีการทำงานคือการอัปเดตแพ็คเกจ APT (sudo apt update) และกด Ctrl + Z เราจะเห็นว่าเทอร์มินัลระบุว่า "[1] + Stopped" ซึ่งหมายความว่าเราได้หยุดกระบวนการหมายเลข 1 และเพิ่มลงในรายการงานสำหรับเทอร์มินัลนั้น ถ้าเราออกไปงานก็ไปกับเขา ในการรีสตาร์ทเราจะใช้ fg เพื่อให้มันอยู่เบื้องหน้าหรือ bg เพื่อให้ยังคงอยู่ในพื้นหลัง ในทั้งสองกรณีเราจะยังคงเห็นกระบวนการในเทอร์มินัลและจะหยุดหากเราปิดหน้าต่าง

เมื่อกระบวนการเทอร์มินัลหรือหลายรายการถูกหยุดชั่วคราวเราจะเห็นสิ่งที่เรารอดำเนินการโดยใช้ไฟล์ คำสั่ง ตำแหน่งงาน ที่เราได้กล่าวไว้ข้างต้น หากมีมากกว่าหนึ่งกระบวนการหยุดเราจะเพิ่มหมายเลขเข้าไป fg o bg เพื่อดำเนินการต่อเฉพาะ ทางเลือก bg (background = background) ไม่อนุญาตให้เราหยุดกระบวนการอีกครั้ง หากเราต้องการให้กระบวนการทำงานโดยตรงในพื้นหลังเราจะเพิ่ม "&" โดยไม่มีเครื่องหมายอัญประกาศ

ตำแหน่งงาน

ปฏิเสธ อนุญาตให้ทำงานต่อเมื่อออกจากเทอร์มินัล

หากเราต้องการให้กระบวนการเทอร์มินัลดำเนินการต่อในพื้นหลังหลังจากปิดหน้าต่างเราจะใช้คำสั่ง ปฏิเสธ. ในการดำเนินการนี้ขั้นตอนในการปฏิบัติตามจะมีดังนี้:

  1. เราเริ่มกระบวนการ
  2. เราหยุดด้วย Ctrl + Z.
  3. เราเขียน ตำแหน่งงาน เพื่อดูหมายเลขกระบวนการ
  4. เราเขียนคำสั่งต่อไปนี้โดยที่ตัวเลขหลังเปอร์เซ็นต์เกิดขึ้นพร้อมกับกระบวนการที่เราต้องการรันในเบื้องหลังหลังจากออกจากเทอร์มินัล:
disown -h %1
  1. เราเริ่มกระบวนการใหม่ด้วยคำสั่งต่อไปนี้ (โดยใช้ 1 ถ้านั่นคือกระบวนการที่เราต้องการเริ่มต้นใหม่):
bg 1
  1. หากต้องการเราจะปิดเทอร์มินัล

วิธีที่ดีที่สุดในการตรวจสอบว่าได้ผลคือการแตกไฟล์ขนาดใหญ่ ในภาพหน้าจอก่อนหน้านี้คุณจะเห็นว่าฉันกำลังคลายการบีบอัดไฟล์ 7z จากเทอร์มินัลอย่างไร อาจใช้เวลาหลายนาทีทั้งนี้ขึ้นอยู่กับขนาดของไฟล์ หากคุณทำตามที่เราได้อธิบายไว้ข้างต้นคุณสามารถไปยังเส้นทางที่เราแจ้งให้คุณเปิดเครื่องรูด (โดยค่าเริ่มต้น / HOME) คลิกขวาเข้าถึงคุณสมบัติและตรวจสอบว่าขนาดเพิ่มขึ้นทีละเล็กทีละน้อย หากไม่เป็นเช่นนั้นเราจะปิดหน้าต่างคุณสมบัติและเข้าถึงอีกครั้ง ปัญหา? ไม่มีทางที่จะทราบได้อย่างแม่นยำเมื่อกระบวนการเสร็จสิ้น. ในกรณีของการคลายซิปไฟล์จะถือว่าเสร็จสมบูรณ์เมื่อไม่มีการเพิ่มขนาดอีกต่อไป ไม่ว่าในกรณีใดเราสามารถตรวจสอบได้ว่ายังคงใช้งานได้หลังจากปิดเทอร์มินัล

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


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา