这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 multitee,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
multitee - 将多个输入发送到多个输出
句法
多人 [ -b尺寸 ] [ -vQQ ] [ FD-FD、FD、FD... ] ...
商品描述
多人 将多个输入发送到多个输出。 给定形式的参数 fdin-
fdout,fdout,fdout... 它将发送文件描述符上的所有输入 芬丁 到每个描述符
输出。 当所有的时候它会退出 芬丁 已关闭。 几个参数可以指定输出
相同 输入。
-fdout 和 ,输出 是等价的。 如果出现任何类型的错误(包括 SIGPIPE)
写信给 输出, 多人 在 stderr 上打印警告并忘记 输出 完全。 (这个
不影响读取 输入。) If -fdout 被替换 :fdout 然后 多人 将退出
在来自该描述符的任何 SIGPIPE 上。
此外, efd 意味着一旦 芬丁 到达文件末尾, fd 被认为达到
还有EOF。 多人 将警告任何输入错误,然后将它们视为 EOF。
不比 三通, 多人 尽最大努力继续处理所有描述符,即使有些
他们中的人被阻止。 但是,如果其他人正在阅读,它会卡住阅读
描述符并首先获取输入; 如果输入数据包写入,它会卡住
不适合输出管道。 (如果输出描述符设置了 NDELAY,并且 多人
接收到 EWOULDBLOCK,它一次写入一个字节以避免管道同步
问题。)虽然将描述符设置为非阻塞模式很诱人,但这是
危险:使用相同打开文件的其他进程可能无法处理 NDELAY。
令人难以置信的是,没有一个主要的 UNIX 供应商或标准委员会出现
具有真正的每进程非阻塞 I/O。 (在 BSD 4.3 及其变体下,multitee 可以
向自身快速发送定时器信号以中断任何阻塞的 I/O。 然而,这不能
在 BSD 4.2 下工作,通常比它的价值更麻烦。)一个程序可以设置
调用前 NDELAY 多人 如果它知道没有其他进程会使用相同的 open
文件中。
多人 如果超过 8192 字节,也将暂时停止读取输入描述符
正在等待其输出描述符之一。 这不影响独立 fdin-fdout
对。
多人 有几个标志:
-b尺寸 将输入缓冲区大小从 8192 更改为 大小。 与之前的版本不同
多人运动, 此版本不需要输出缓冲区,也不复制
read() 和 write() 之间的任意字节。
-v 冗长。
-q 安静。 多人 不会以任何方式使用 stderr(当然,如果
描述符 2 在参数中指定)。
-Q 正常级别的冗长。
退出 VALUE
0 正常。 1 用于使用消息。 3 如果 多人 内存不足。 4 在各种
不可能的情况。
诊断
致命的: 输出 of 记忆
多人 内存不足。
警告: 不能 读 描述符
不言自明。
警告: 不能 写 描述符
不言自明。
示例
multitee 0-1,4,5 4>foo 5>bar
与...一样 开球 FOO 酒吧 除了更好的阻塞行为。
多人 0:1 3:1 4:1,2 6:7
将多个源合并到输出中,同时将 6 复制到 7 并将 4 的输入记录在
2.
tcpclient servermachine smtp multitee 0:7 6:1e0
与...一样 连接 在太阳队。 e0 告诉 multitee 在网络连接后立即退出
关闭。
限制
多人 期望所有涉及的描述符都是开放的。 当前关闭的描述符起作用
就像一个永远无法写入的开放描述符。
使用 onworks.net 服务在线使用 multitee