在什么条件下,消息队列的lrpid在ipcs-qa的输出中将保持为0?

在什么条件下,消息队列的lrpid在ipcs-qa的输出中将保持为0?,c,unix,ipcs,C,Unix,Ipcs,所以,我得到了ipcs-qa的输出,我得到的输出如下: T ID KEY MODE OWNER GROUP CREATOR CGROUP CBYTES QNUM QBYTES LSPID LRPID STIME RTIME CTIME q 1111 0X1111 --rw-rw---- oname gname oname gname 1262 1 65000 222222 0 07:11:01 no-entry 07:06:00

所以,我得到了ipcs-qa的输出,我得到的输出如下:

T  ID   KEY     MODE        OWNER GROUP CREATOR CGROUP CBYTES QNUM QBYTES LSPID LRPID  STIME    RTIME   CTIME
q 1111  0X1111 --rw-rw----  oname gname oname   gname  1262   1    65000  222222  0   07:11:01 no-entry 07:06:00
q 2222  0x2222 --rw-rw----  oname gname oname   gname  0      0    65000   0      0   no-entry no-entry 08:40:54
数据只是指示性的,但观察到队列中存在1条消息,这可能是由LSPID下的进程ID创建的,但LRPID下的进程ID为0。因为并没有进程ID从队列接收到消息,所以RTIME值不是条目

我想了解在什么情况下创建队列,但没有进程接收消息

此外,在命令的第二个输出下,QNUM的数量也是0,这表示队列中没有消息,但创建了一个队列。在什么情况下将创建队列,但没有进程能够在队列中发送消息。队列创建和访问都发生在同一个用户身上,该用户是队列的所有者,因此可能不存在权限问题

我知道这个输出是特定于我的应用程序本身的,但我希望了解是否有任何通用标准,比如超时,或者其他什么,可能会导致这种情况

我使用的是C语言ipc库


谢谢你的帮助。

好的。所以这个问题似乎主要是因为超时问题。代码没有很好地处理服务器上的超时和负载