zoukankan      html  css  js  c++  java
  • undefined reference to 'mq_open'

    验证 UNPv2里的一个例子时,连接时出现 undefined reference to 'mq_open' 错误。

    man mq_open ,发现里面有这么一句话 :link with -lrt 。加上 -lrt 后,连接成功。

    运行,出现 Permission deny。继续查,man mq_overview 发现: Each message queue is identified by a name of the form /somename. 也就是说在指定 mqueue 的名字时,必须以 ”/" 开头,并且名字中只能有一个 “/"。UNPv2的 2.2 IPC names有详细的解释。

    终于运行成功了,却发现找不到创建的 mqueue , 继续 man mq_overview。发现下面一段:

    Mounting the message queue file system
           On Linux, message queues are created in a virtual file system. (Other implementations may also provide such a feature, but the details are likely to differ.) This file system can be mounted using the following commands:

               $ mkdir /dev/mqueue
               $ mount -t mqueue none /dev/mqueue


           The sticky bit is automatically enabled on the mount directory.

           After the file system has been mounted, the message queues on the system can be viewed and manipulated using the commands usually used for files (e.g., ls(1) and rm(1)).

           The contents of each file in the directory consist of a single line containing information about the queue:

               $ ls /dev/mqueue/mymq
               QSIZE:129     NOTIFY:2    SIGNO:0    NOTIFY_PID:8260
               $ mount -t mqueue none /dev/mqueue

           These fields are as follows:

           QSIZE Number of bytes of data in all messages in the queue.

           NOTIFY_PID
                  If this is non-zero, then the process with this PID has used mq_notify(3) to register for asynchronous message notification, and the remaining fields describe how notification occurs.

           NOTIFY Notification method: 0 is SIGEV_SIGNAL; 1 is SIGEV_NONE; and 2 is SIGEV_THREAD.

           SIGNO Signal number to be used for SIGEV_SIGNAL.
  • 相关阅读:
    Jenkins pipeline 流水线部署 并自定义 buildName 和 buildDescription 显示信息
    Jenkins中插件 pipeline 中声明式流水线的语法
    Linux 发送https POST请求sample ===Slack 频道中发送消息通知
    Jenkins pipline
    jenkins pipeline中获取shell命令的输出
    Chrome浏览器对标签进行整理和分组
    MacBook 对rar后缀的文件进行加压
    Macbook中Docker一栏的应用程序图标不见了,怎么找出来?
    [Pytest]运行指定的case
    软考 高项 重点知识点
  • 原文地址:https://www.cnblogs.com/chengxuzhixin/p/4963253.html
Copyright © 2011-2022 走看看