Linux/BASH中完全健壮的消息队列

Linux/BASH中完全健壮的消息队列,linux,bash,message-queue,named-pipes,Linux,Bash,Message Queue,Named Pipes,我正在尝试使用命名管道实现一个消息队列系统。从我使用的管道中读取: 泵读数=1 而[${pump_read}-eq 1]];做 IFS=|读取泵f1泵f2泵f3>pump.log 完成 写入我使用过的命名管道 回声x|y|z|sshuser@hostcat>queuefile 我使用这种方法是因为读写器可能不在同一台主机上。这在很大程度上是可行的,但我经常会在我的| |日志中看到行,就好像在管道中写入了一条空行。我也有一些时候,信息会消失,就好像它们从未进入管道一样。我看不出丢失或空白消息的原因

我正在尝试使用命名管道实现一个消息队列系统。从我使用的管道中读取:

泵读数=1

而[${pump_read}-eq 1]];做

IFS=|读取泵f1泵f2泵f3<队列文件

echo${pump_f1}}}${pump_f1}}}${pump_f3}>>pump.log

完成

写入我使用过的命名管道

回声x|y|z|sshuser@hostcat>queuefile

我使用这种方法是因为读写器可能不在同一台主机上。这在很大程度上是可行的,但我经常会在我的| |日志中看到行,就好像在管道中写入了一条空行。我也有一些时候,信息会消失,就好像它们从未进入管道一样。我看不出丢失或空白消息的原因


有没有人知道我需要看什么才能确保信息不会丢失?我在考虑用C/C++而不是BASH编写代码吗?在某些情况下,我可能希望异步将消息发布到队列,但由于读/写过程中的阻塞,我不确定使用命名管道是否可以发布消息,但是,通常情况下,这一切都会很快发生,阻塞不会成为问题。

我认为您最好使用现有的消息/作业队列,而不是编写自己的消息/作业队列

下面是一个很好的列表: