为什么没有-al显示由mq_open创建的消息队列

时间:2016-07-18 07:18:19

标签: c linux

我使用mq_open创建消息队列/temp.1234

  1. 但目录ls -al中的命令ipcs -q/并未显示有关邮件队列的任何信息。
  2. 我使用mq_send发送消息。此外,在另一个程序中,mq_open(" /temp.1234",O_WRONLY)成功返回3(消息描述符),但在调用mq_receive时,它输出 EBADF 。操作系统是ubuntu。
  3. 它只对solaris有效而不是ubuntu吗?
  4. : 它来自unix网络编程第2卷。

      

    这是Solaris 2.6下的输出:
      solaris%mqcreatel /temp.l234
      solaris%1s -1 /tmp/.*l234
      -rw-rw-rw- 1 rstevens otherl 132632 10月23日17:08 /tmp/.MQDtemp.1234
      -rw-rw-rw- 1 rstevens other1   10月23日17:08 /tmp/.MQLtemp.l234
      -rw-R - R--   1 rstevens other1   10月23日17:08 /tmp/.MQPtemp.l234

1 个答案:

答案 0 :(得分:2)

  1. 第一个参数是不是文件名,它只是一个标识符。它不会存在于文件系统中。

  2. 尝试从只写队列接收是一个错误。