เมื่อฉันเริ่มโปรแกรมจากเทอร์มินัลฉันไม่สามารถใช้อินสแตนซ์ของเทอร์มินัลนั้นได้อีกจนกว่าฉันจะปิดโปรแกรม
มีวิธีการรันโปรแกรม / แอปพลิเคชั่นจากเทอร์มินัลโดยไม่ปิดกั้นเทอร์มินัลจนกว่าโปรแกรมจะจบลงหรือไม่?
เมื่อฉันเริ่มโปรแกรมจากเทอร์มินัลฉันไม่สามารถใช้อินสแตนซ์ของเทอร์มินัลนั้นได้อีกจนกว่าฉันจะปิดโปรแกรม
มีวิธีการรันโปรแกรม / แอปพลิเคชั่นจากเทอร์มินัลโดยไม่ปิดกั้นเทอร์มินัลจนกว่าโปรแกรมจะจบลงหรือไม่?
คำตอบ:
คุณกำลังมองหาการควบคุมงานซึ่งเชลล์ส่วนใหญ่รองรับ ดูบทความนี้สำหรับการแนะนำ ในบางจุดคุณอาจต้องการอ่านเอกสารอย่างเป็นทางการสำหรับ bash ซึ่งเป็นเชลล์เริ่มต้นใน Ubuntu
ในระยะสั้น: ในการเริ่มต้นงานโดยอัตโนมัติในพื้นหลังใส่&
หลังจากโทรโปรแกรม
$ program &
นอกจากนี้คุณยังสามารถหยุดโปรแกรมด้วยCTRLzจากนั้นนำโปรแกรมเหล่านั้นมาเป็นพื้นหลังในภายหลังbg
$ program
^Z
$ bg
fg
เพื่อให้พวกเขาทำงานในการใช้งานอีกครั้งเบื้องหน้า
หากการควบคุมงานไม่ตรงกับสิ่งที่คุณต้องการมองเข้าไปในหน้าจอ
หน้าจอควบคุมเทอร์มินัลเสมือนหลายตัวเพื่อให้คุณสามารถเรียกใช้หลาย ๆ โปรแกรมได้โดยที่ไม่ต้องโต้ตอบกัน ตัวอย่างเช่นคุณสามารถเรียกใช้ mocp (เครื่องเล่นเพลง), ความถนัด (ตัวจัดการแพ็กเกจ) และ vim (โปรแกรมแก้ไขข้อความ) พร้อมกันแม้ว่าโปรแกรมทั้งหมดเป็นโปรแกรมแบบโต้ตอบที่ปฏิบัติกับเทอร์มินัล
สิ่งนี้ทำให้ง่ายต่อการสลับจากงานหนึ่งไปอีกภารกิจหนึ่งเช่นการสร้างเทอร์มินัลใหม่ภายในหน้าจอเพื่ออ่าน manpage - โดยไม่สูญเสียสถานที่อื่น - พลิกกลับไปกลับมาเป็นต้น
ใน Ubuntu 16.10 ฉันไม่สามารถรับ ctrl + Z ที่กล่าวถึงในคำตอบอื่นในการทำงาน แต่
program &
^C
ทำงานให้ฉันในคำอื่น ๆctrl + c
หลังจากที่คุณเริ่มโปรแกรมด้วยเครื่องหมายและต่อท้าย