有一项服务将其输出通过管道传输到命名管道,我使用mkfifo name
.
如果管道中没有读取器,则服务暂停。即使没有阅读器,如何让它继续传输数据?
读者以后可能会(也可能不会)使用管道。
编辑:不需要缓冲区。读者将从他们使用管道的地方开始阅读。之前的数据丢失。没关系。考虑它是一个视频流。
有一项服务将其输出通过管道传输到命名管道,我使用mkfifo name
.
如果管道中没有读取器,则服务暂停。即使没有阅读器,如何让它继续传输数据?
读者以后可能会(也可能不会)使用管道。
编辑:不需要缓冲区。读者将从他们使用管道的地方开始阅读。之前的数据丢失。没关系。考虑它是一个视频流。
我想获得 TX 和 RX 的总量,以了解服务器正在接收或传输的数据量。
用这个命令ip -s link
我得到这个结果
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
21914963679042 3114955121 0 0 0 0
TX: bytes packets errors dropped carrier collsns
21914963679042 3114955121 0 0 0 0
2: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether d4:5d:64:40:53:ca brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
251928745868 1094612700 0 0 0 5914052
TX: bytes packets errors dropped carrier collsns
1091337709507 1328468566 0 0 0 0
3: enp3s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether d4:5d:64:40:53:cb brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
据我所知,lo
是本地的。所以必须忽略。但我需要得到剩余接口的 TX 和 RX 的总和。怎么做到呢?
谢谢。