GNU Screen Copy Mode จะบล็อกการทำงานหรือไม่


11

ฉันใช้โหมดเลื่อน / คัดลอกหน้าจอของ GNU ดังนั้นฉันกด Control-A [เพื่อเข้าสู่โหมดคัดลอกเลื่อนขึ้นไปยังส่วนที่ฉันสนใจ ... แล้วฉันลืม

อย่างไรก็ตามดูเหมือนว่าจะออกจากหน้าจอ GNU ในโหมดเลื่อน / คัดลอกบล็อกการดำเนินการของ (แอปอะไรก็ได้ในเวลา) ตัวอย่างเช่นถ้าฉันเปิดใช้งานเว็บเซิร์ฟเวอร์ในพื้นที่ถ้าฉันอยู่ในโหมดเลื่อน / คัดลอกจากนั้นคำขอที่ทำกับเว็บเซิร์ฟเวอร์นั้นจะหมดเวลา: กระบวนการไม่ตอบสนองจนกว่าฉันจะออกจากโหมดคัดลอก / เลื่อนกลับ

ฉันเห็นสิ่งนี้ทั้งในสคริปต์ / เซิร์ฟเวอร์ Ruby On Rails และด้วยเครื่องมือ Python

ฉันได้พิจารณาการเปิดโหมดการบันทึกสำหรับ windows ของฉันจากนั้นเพียงทำการ tailing / grepping ผ่าน logfiles เหล่านั้นเป็นทางเลือก แต่ถ้าสามารถควบคุมได้ด้วยวิธีอื่น (การตั้งค่าการเปิดใช้งานโหมดการคัดลอกด้วยวิธีอื่น) ฉันสนใจมาก

หน้าจอรุ่นที่ฉันพูดว่า:

หน้าจอเวอร์ชัน 4.00.03 (FAU) 23-Oct-06

(ฉันถามสิ่งนี้บน quora.com แต่อาจเป็นที่ที่ดีกว่านี้)

คำตอบ:


8

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

program > logfile 2>&1 & 
less logfile

2> & 1 จะรวม stderr และ stdout จากโปรแกรมของคุณ & ส่งโปรแกรมเป็นพื้นหลัง ใช้ fg เพื่อนำมาไว้ด้านหน้าถ้าคุณต้องการ ตอนนี้กด F เพื่อติดตามจุดสิ้นสุดของ logfile เมื่อไฟล์มีขนาดเล็กลง กด ctrl + c หากคุณต้องการหยุดและตรวจสอบบางอย่างจากนั้นกด F เพื่อติดตามอีกครั้ง นอกจากนี้คุณยังสามารถกด & เพื่อ จำกัด บรรทัดที่มองเห็นได้ในนิพจน์ทั่วไป มีประโยชน์มากเมื่อต้องผ่านไฟล์บันทึก


"หน้าจอจะปิดกั้นท่อส่งออกของกระบวนการในขณะที่คุณอยู่ในโหมดคัดลอกวาง" - นี่อาจเป็นจริงเมื่อมีการสร้างเอาต์พุตจำนวนหนึ่ง แต่ดูเหมือนจะไม่เป็นจริงในกรณีนี้: while ((1)) ; do echo $i; i=$((i+1)); sleep 0.1; done- ลองเรียกใช้คัดลอก โหมดและรอสักครู่ เมื่อคุณออกจากโหมดการคัดลอกค่าของฉันจะเพิ่มขึ้นแสดงให้เห็นว่าการดำเนินการต่อเนื่องในพื้นหลัง แต่ฉันได้เห็นผลลัพธ์บล็อกหน้าจอสำหรับกระบวนการบางอย่างดังนั้นฉันอยากรู้ว่าสิ่งที่กำหนดว่าบล็อกหน้าจอหรือไม่
davidA

"สิ่งที่กำหนดว่าหน้าจอบล็อกหรือไม่" - ขนาดของบัฟเฟอร์การเลื่อนกำหนด คุณสามารถเพิ่มเป็นไม่ จำกัด ได้ แต่จะใช้หน่วยความจำ แต่จะไม่ปิดกั้น
san
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.