ฉันจะหยุด cat output ในทันทีได้อย่างไรแม้จะมีเอาต์พุตขนาดใหญ่


9

ฉันกำลังมองหาวิธีที่จะหยุดการส่งออกไปยัง STDOUT เมื่อฉันรู้ว่าคำสั่งผิด ตัวอย่างเช่นถ้าฉันตั้งใจแมวไฟล์ที่มีขนาดใหญ่มาก โดยปกติแล้วจะหยุดในที่สุดหากคุณกดctrl+cแต่มันใช้เวลานาน

มีวิธีหยุดเอาต์พุตทันทีหรือไม่?

คำตอบ:


10

คุณสามารถเรียกใช้ ctl-z เพื่อแบ็คกราวน์มันแล้วฆ่า PID

$ ctl z (เป็นพื้นหลัง)

$ kill -9 {pid} 'ของกระบวนการที่เพิ่งเกิดขึ้น'


1
ทำไมคุณkill -9ถึงไอเอ็นจีถ้ามันไม่จำเป็นจริงๆ?
benjwadams

2

บ่อยครั้งที่ข้อมูลถูกส่งไปยังจอแสดงผลแล้วและ "เวลานาน" เป็นเทอร์มินัลพยายามแสดงข้อมูล การทำอะไรกับงานจะไม่ช่วยได้ (เช่นCtrl+ ZหรือCtrl+ C) คุณจะต้องใช้เทอร์มินัลที่เร็วกว่าหรือสิ่งที่จะบัฟเฟอร์ข้อมูล

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


1

การสลับไปยังเทอร์มินัลอื่น (ผ่านCTRL+ F1ไปยังF6ในโหมดข้อความหรือเปิดหน้าต่างใหม่ในscreenทางCTRL+ A, C) หลังจากกดCTRL+ ZหรือCTRL+ Cจะทำให้เทอร์มินัลดั้งเดิมข้ามการพยายามทำ linefeeds ทั้งหมดและข้ามไปยังบรรทัดสุดท้ายโดยตรง ของการส่งออกในเวลาที่สั้นลง


มันใช้งานได้เมื่อ "เวลานาน" เป็นเอาต์พุตไปในบัฟเฟอร์เครือข่ายและใช้เวลานานในการถ่ายโอนข้อความทั้งหมดไปยังเทอร์มินัลที่รับหรือไม่? ถ้าเป็นเช่นนั้นคนเราจะประสบความสำเร็จในสิ่งเดียวกันพูดคำว่าเทอร์มินัลได้อย่างไร ฉันสลับไปที่แท็บอื่นและไม่มีอะไร ในทางกลับกันถ้าฉันฆ่าเซสชัน ssh โดยใช้ ~ จากนั้นจะหยุดทันที ฉันไม่อยากฆ่าเซสชัน
vontrapp

@vontrapp เป็นคำถามที่ดี (ซึ่งอาจเป็นคำถามใหม่ที่คุ้มค่า) ฉันเดาว่าจะไม่ทำงาน แต่เหนือ SSH สำหรับกระบวนการทำงานที่ยาวนานโดยใช้tmuxหรือscreenเป็นคำแนะนำเสมอ
Tobias Kienzler

0

คุณควรจะไปป์moreหรือless

cat large_file.txt | less

ณ จุดนี้คุณสามารถเลื่อนดูคำตอบและแยกย่อยด้วย a :q

คุณสามารถใช้grepเพื่อเรียงลำดับคำตอบของคุณหากคุณกำลังมองหาข้อผิดพลาด / ปัญหาที่เฉพาะเจาะจง

http://www.westwind.com/reference/os-x/commandline/pipes.html


1
CHK ถามเกี่ยวกับสถานการณ์ที่มีกระบวนการเริ่มต้นแล้ว คุณไม่สามารถใช้งานได้น้อยลงในกรณีนี้
กันยายน

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