【问题标题】:sendto pid and groups发送到 pid 和组
【发布时间】:2012-07-03 20:46:11
【问题描述】:

我试图从 linux 上的 strace 中理解这一行:

sendto(10, "\24\0\0\0\26\0\1\3\233\274\362O\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20

我在网上和有关 sendto 的手册页中查看过,但我没有看到 pid 和组的参考。未提及事件 AF_NETLINK。

pid 和 groups 参数是什么意思?我在哪里可以找到有关此功能的正确文档?

谢谢

【问题讨论】:

    标签: linux udp system-calls strace sendto


    【解决方案1】:

    根据sendto 手册页,该参数是struct sockaddr *。当与netlink 套接字一起使用时,它实际上是一个struct sockaddr_nl

    struct sockaddr_nl {
           sa_family_t     nl_family;  /* AF_NETLINK */
           unsigned short  nl_pad;     /* Zero. */
           pid_t           nl_pid;     /* Process ID. */
           __u32           nl_groups;  /* Multicast groups mask. */
    };
    

    这就是pidgroups 的来源(手册的“地址格式”部分解释了这些字段)。

    【讨论】:

      【解决方案2】:

      正确的文档是 man 7 netlink,但 netlink 做了很多没有很好记录的晦涩难懂的东西,祝你好运。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-19
        • 2014-05-20
        • 2018-04-22
        • 2015-05-11
        • 2015-10-05
        相关资源
        最近更新 更多