นี่คือคำสั่ง multitee ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
multitee - ส่งหลายอินพุตไปยังหลายเอาต์พุต
ซิงค์
มัลติที [ -bขนาด ] [ -vQq ] [ ฟด-ฟด,ฟด,ฟด... ] ...
DESCRIPTION
multite ส่งอินพุตหลายรายการไปยังเอาต์พุตหลายรายการ รับอาร์กิวเมนต์ของแบบฟอร์ม fdin-
ฟุดฟุด ฟุดฟุด... มันจะส่งอินพุตทั้งหมดบน file descriptor ฟิน ให้กับแต่ละคำอธิบาย
ข้อมูล มันจะออกเมื่อทั้งหมด ฟิน ปิด อาร์กิวเมนต์หลายตัวอาจระบุผลลัพธ์จาก
เหมือน ฟิน
-fdout และ ,ไม่มั่นใจ มีค่าเท่ากัน หากมีข้อผิดพลาดในการจัดเรียงใดๆ (รวมถึง SIGPIPE) ใน
กำลังเขียนถึง ข้อมูล multite พิมพ์คำเตือนบน stderr และลืม fdout โดยสิ้นเชิง (นี้
ไม่ส่งผลต่อการอ่านบน ฟิน) If -fdout ถูกแทนที่ด้วย :fdout แล้วก็ multite จะออก
ตาม SIGPIPE ใด ๆ จากคำอธิบายนั้น
นอกจากนี้ efd หมายความว่าทันทีที่ ฟิน ถึงจุดสิ้นสุดของไฟล์ fd ถือว่าไปถึง
อฟช.ด้วย multite จะเตือนเกี่ยวกับข้อผิดพลาดในการป้อนข้อมูลใด ๆ แล้วปฏิบัติต่อพวกเขาเหมือน EOF
แตกต่าง ที multite พยายามอย่างดีที่สุดเพื่อดำเนินการประมวลผลคำอธิบายทั้งหมดต่อไปแม้ในขณะที่บางคน
ของพวกเขาถูกบล็อก อย่างไรก็ตาม มันจะติดอยู่ในการอ่านถ้าคนอื่นกำลังอ่าน
descriptor และคว้าอินพุตก่อน มันจะติดขัดในการเขียนถ้าแพ็กเก็ตอินพุตไม่
ไม่พอดีกับท่อส่งออก (หากตัวอธิบายผลลัพธ์มีการตั้งค่า NDELAY และ multite
ได้รับ EWOULDBLOCK โดยจะเขียนครั้งละหนึ่งไบต์เพื่อหลีกเลี่ยงการซิงโครไนซ์ไปป์
ปัญหา) แม้ว่าจะเป็นการดึงดูดให้ตั้งค่าตัวอธิบายเป็นโหมดไม่บล็อก แต่สิ่งนี้คือ
อันตราย: กระบวนการอื่นๆ ที่ใช้ไฟล์เปิดเดียวกันอาจไม่สามารถจัดการกับ NDELAY ได้
เป็นเรื่องเหลือเชื่อที่ไม่มีผู้จำหน่าย UNIX หรือคณะกรรมการมาตรฐานรายใหญ่รายใดเกิดขึ้น
ด้วย I/O ที่ไม่บล็อกต่อกระบวนการจริง (ภายใต้ BSD 4.3 และรุ่นย่อย มัลติทีสามารถ
ส่งสัญญาณจับเวลาไปยังตัวเองอย่างรวดเร็วเพื่อขัดจังหวะการบล็อก I/O อย่างไรก็ตามสิ่งนี้ไม่สามารถ
ทำงานภายใต้ BSD 4.2 และโดยทั่วไปมีปัญหามากกว่าที่คุ้มค่า) โปรแกรมสามารถตั้งค่าได้
NDELAY ก่อนเรียกใช้ multite ถ้ารู้ว่ากระบวนการอื่น ๆ จะไม่ใช้ open เดียวกัน
ไฟล์
multite จะหยุดอ่านคำอธิบายอินพุตชั่วคราวหากมากกว่า 8192 ไบต์
กำลังรอดำเนินการกับตัวอธิบายผลลัพธ์ตัวใดตัวหนึ่ง สิ่งนี้ไม่กระทบต่อความเป็นอิสระ fdin-fdout
คู่
multite มีหลายธง:
-bขนาด เปลี่ยนขนาดบัฟเฟอร์อินพุตจาก 8192 เป็น ขนาด. ไม่เหมือนเวอร์ชั่นก่อนหน้าของ
มัลติที, รุ่นนี้ไม่ต้องการบัฟเฟอร์เอาต์พุตและไม่คัดลอก
ไบต์ที่ใดก็ได้ระหว่าง read() และ write()
-v ละเอียด
-q เงียบ. multite จะไม่ใช้ stderr แต่อย่างใด (ยกเว้นแน่นอน if
descriptor 2 ถูกระบุในอาร์กิวเมนต์)
-Q ระดับความฟุ่มเฟือยปกติ
EXIT มูลค่า
0 ปกติ 1 สำหรับข้อความการใช้งาน 3 ถ้า multite หน่วยความจำไม่เพียงพอ 4 ในรูปแบบต่างๆ
สถานการณ์ที่เป็นไปไม่ได้
วินิจฉัย
ร้ายแรง: ออก of หน่วยความจำ
multite มีหน่วยความจำไม่เพียงพอ
คำเตือน: ไม่ได้ อ่าน คำอธิบาย
อธิบายตนเอง
คำเตือน: ไม่ได้ เขียน คำอธิบาย
อธิบายตนเอง
ตัวอย่าง
multitee 0-1,4,5 4>foo 5>บาร์
เหมือนกับ ที foo บาร์ ยกเว้นพฤติกรรมการบล็อกที่ดีขึ้น
มัลติที 0:1 3:1 4:1,2 6:7
รวมแหล่งต่าง ๆ เข้ากับเอาต์พุตขณะคัดลอก 6 ถึง 7 และบันทึกอินพุตของ 4 ใน
2.
เซิร์ฟเวอร์ tcpclient เครื่อง smtp multitee 0:7 6:1e0
เหมือนกับ เชื่อมต่อ บนซัน e0 บอก multitee ให้ออกทันทีที่มีการเชื่อมต่อเครือข่าย
ปิด
ข้อ จำกัด
multite คาดว่าคำอธิบายทั้งหมดที่เกี่ยวข้องจะเปิดขึ้น ปัจจุบันปิด descriptor ทำหน้าที่
เหมือนเป็นคำอธิบายที่เปิดกว้างซึ่งไม่สามารถเขียนถึงได้
ใช้ multitee ออนไลน์โดยใช้บริการ onworks.net
