expect_unbuffer - ออนไลน์ในคลาวด์

นี่คือคำสั่ง expect_unbuffer ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


unbuffer - ยกเลิกการบัฟเฟอร์เอาต์พุต

เรื่องย่อ


บัฟเฟอร์ โครงการ [ args ]

บทนำ


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

od -c /tmp/fifo | มากกว่า

คุณจะไม่เห็นอะไรเลยจนกว่าจะสร้างเอาต์พุตเต็มหน้า

คุณสามารถปิดใช้งานการบัฟเฟอร์อัตโนมัตินี้ได้ดังนี้:

เลิกบัฟเฟอร์ od -c /tmp/fifo | มากกว่า

โดยปกติ unbuffer จะไม่อ่านจาก stdin ช่วยลดความยุ่งยากในการใช้ unbuffer ในบางส่วน
สถานการณ์ หากต้องการใช้ unbuffer ในไพพ์ไลน์ ให้ใช้แฟล็ก -p ตัวอย่าง:

กระบวนการ1 | unbuffer -p process2 | กระบวนการ3

คำเตือน


unbuffer -p อาจทำงานไม่ถูกต้องหากกระบวนการป้อนอินพุตเพื่อยกเลิกการบัฟเฟอร์ออก
พิจารณา:
กระบวนการ1 | unbuffer -p process2 | กระบวนการ3

หากออกจากกระบวนการ 1 กระบวนการที่ 2 อาจยังไม่เสร็จสิ้น เป็นไปไม่ได้สำหรับ unbuffer ถึง
รู้ว่าต้องรอนานสำหรับกระบวนการ 2 และกระบวนการ 2 อาจไม่สิ้นสุดเช่นถ้าเป็น
กรอง. เพื่อความได้เปรียบ unbuffer เพียงแค่ออกจากเมื่อพบ EOF จากตัวใดตัวหนึ่ง
อินพุตหรือกระบวนการ2.

เพื่อให้มีเวอร์ชัน unbuffer ที่ทำงานในทุกสถานการณ์ oracle จะเป็น
จำเป็น. หากคุณต้องการโซลูชันเฉพาะแอปพลิเคชัน วิธีแก้ไขปัญหาชั่วคราว หรือ Expect . แบบเข้ารหัสด้วยมือ
อาจจะเหมาะสมกว่า ตัวอย่างเช่น ตัวอย่างต่อไปนี้แสดงวิธีอนุญาต grep to
เสร็จสิ้นการประมวลผลเมื่อแมวก่อนที่จะเสร็จสิ้นก่อน การใช้แมวเพื่อเลี้ยง grep จะ
ไม่เคยต้องการ unbuffer ในชีวิตจริง มันเป็นเพียงตัวยึดสำหรับจินตภาพบางส่วน
กระบวนการที่อาจหรืออาจไม่เสร็จสิ้น ในทำนองเดียวกัน แมวตัวสุดท้ายที่ปลายท่อ
เป็นตัวยึดตำแหน่งสำหรับกระบวนการอื่นด้วย

$ cat /tmp/abcdef.log | grep abc | แมว
เอบีซีดีเอฟ
xxxabc defxxx
$ cat /tmp/abcdef.log | เลิกบัฟเฟอร์ grep abc | แมว
$ (cat /tmp/abcdef.log ; sleep 1) | เลิกบัฟเฟอร์ grep abc | แมว
เอบีซีดีเอฟ
xxxabc defxxx
$

ใช้ expect_unbuffer ออนไลน์โดยใช้บริการ onworks.net



โปรแกรมออนไลน์ Linux และ Windows ล่าสุด