所以,我得到了 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 库。
谢谢你的帮助。