คำตอบที่ดีของทั้ง Brad and Mankoff อีกอย่างที่คล้ายกับการรวมกันของทั้งคู่ก็คือการใช้หน้าจอ GNUเพื่อใช้คิวของคุณ นี่คือข้อดีของความสามารถในการทำงานในพื้นหลังคุณสามารถตรวจสอบได้ทุกเมื่อและจัดคิวคำสั่งใหม่เพียงแค่วางคำสั่งเหล่านั้นลงในบัฟเฟอร์ที่จะดำเนินการหลังจากที่คำสั่งก่อนหน้านี้ออกจาก
ก่อนอื่นให้เรียกใช้:
$ screen -d -m -S queue
(โดยบังเอิญตอนนี้เป็นเวลาที่ดีที่จะเล่นกับไฟล์ screenrc ที่ยอดเยี่ยม )
ที่จะวางไข่เซสชันหน้าจอพื้นหลังสำหรับคุณตั้งชื่อคิว
ตอนนี้จัดคิวคำสั่งได้มากเท่าที่คุณต้องการ:
screen -S queue -X stuff "echo first; sleep 4; echo second^M"
ฉันกำลังทำหลายคำสั่งด้านบนเพื่อทำการทดสอบ กรณีการใช้งานของคุณอาจดูเหมือน:
screen -S queue -X stuff "echo first^M"
screen -S queue -X stuff "echo second^M"
โปรดทราบว่า "^ M" ในบรรทัดของฉันด้านบนเป็นวิธีการขึ้นบรรทัดใหม่ที่ฝังซึ่งจะถูกตีความในภายหลังหลังจากที่หน้าจอยัดลงในเปลือกทุบตีที่มีอยู่ของคุณ ใช้ "CTL-V" เพื่อรับลำดับนั้น
มันค่อนข้างง่ายที่จะสร้างเชลล์สคริปต์ง่ายๆเพื่อทำให้คำสั่งนั้นอัตโนมัติและจัดคิวคำสั่ง จากนั้นเมื่อใดก็ตามที่คุณต้องการตรวจสอบสถานะของคิวแบ็คกราวน์ของคุณคุณจะแนบไฟล์อีกครั้งผ่าน:
screen -S queue -r
ในทางเทคนิคคุณไม่จำเป็นต้องตั้งชื่อเซสชันหน้าจอของคุณและมันจะทำงานได้ดี แต่เมื่อคุณติดมันคุณจะต้องปล่อยให้มันทำงานอยู่ตลอดเวลา ;-)
แน่นอนถ้าคุณทำเช่นนั้นวิธีที่ดีอีกวิธีหนึ่งก็คือตั้งชื่อ "คิว" ของหน้าต่างปัจจุบันและใช้:
screen -S queue -p queue -X stuff "command"